Various fixes re. type variables

Fixes #75, #82 and #87 
what about `super` ?