docs
Basic function type handling
Implement lambda expression and function object
implement lambda expressions
misc tidying