Some work on getting type inference working again.
remove an unused argument from pmatch and from Letrec