Using strict type safety when using Scope is highly recommended as it will move many runtime errors into compile time errors.
When injecting a value be sure to declare its type.
const ageKey = ScopeKey<int>();
const countKey = ScopeKey<int>();
/// Missing type when value is called.
/// When you try to `use` this key as an int
/// you will be in for a nasty surprise.
..value(ageKey, 'my name');
/// type is correctly passed
To ensure type safety when providing values we recommend that you use the lints package and add the following to your analysis_options.yaml file:
# only available from dart 2.16