https://dart.dev/null-safety
But I seem to remember that the type-checker got confused rather easily with nested closures, for instance, or co/contra-variance.
https://dart.dev/null-safety