Use Def instead of Block for FunLiteral. Parse fun literals with arguments
Simplify fun literals implementation
Support types arguments in fun literals
Parse funcion pointers