Elaborate instances

instance L 'b => K ('b cons) {...}

to

let (... : L 'b => 'b cons k) = {...}
Merge branch 'master' of http://github.com/minmell/minihaskell