Thanks Philipp, that's exactly the explanation why the compiler can't report an error.
I hadn't thought about default properties. And since Variant/Object performs a late binding on object return, the compiler cannot know whether the default property of the “expected” object supports the parameter.