15a595749b
The issue here is that OI infers correct types for (k, v) destructing declaration, while NI infers errors for them. That happens because NI resolves iterator() on nullable 'm', but rightfully reports it as unsuccessful, while OI somehow manages to resolve it to success (and thus getting nice expected type, allowing destructing declaration to be resolved in a proper types).