Missing compiler features from VB.NET

Having spent probably more time in the last couple of months on
a project using VB.NET than I might otherwise have chosen, it seems
to me that the same problems keep cropping up again and again that
you’d really expect a modern compiler to help you deal with.

I’ve lost track of the amount of time we’ve spent looking for
the source of a problem that turned out to be where someone forgot
to actually return the result of a computation at the end of a
method, or worse where one of the code paths forgot to return a
result but all the others did. The C# compiler wouldn’t waste any
time telling me I’d done something wrong and I don’t understand how
the compiler for a language historically targeted at an audience
that might appreciate a bit more hand-holding can happily continue
churning out the code.