Consider the following:
void main() {
var map = <String, String>{};
map[null];
}
The current behavior is, map[null] compiles (and return null)
I would expect it to emit a compilation error instead.
This appears to be voluntary, considering ma[null] = correctly does not compile.
Maybe we should have a lint?