Started on fixing what I think is an elaborator bug

I'm not sure about the true cause, but there's something making modules
with matching signatures not type check.  And this will probably break
things, so I'll do it on a branch.

However, in the end, the change will be small.
Merge remote-tracking branch 'origin/fix_elab'
Merge branch 'master' of github.com:xrchz/vml
A few more tests