Topic/typelambda cleanup v0

This PR is intended to fix the issues that @retronym and @adriaan pointed out in #71.

I'm not sure I'll be able to introduce new AST nodes here, but I want to leave the PR open a bit to make sure to add lots of test cases, try to fix (or at least document) any weird behavior, etc.