Renaming lambda classes

Types changed to reflect parameter ID or return value, name indicates
number of parameters. Types are a little crazy. P1,P2,P3,R are easier to
understand that A,B,C,D