remove type instantiation of lambda object as tuple

lambda's type should be distinguished from tuple and it should be a
generic function type.  Though both generic function type and tuple are
implemented with struct, they have the different semantics as type each
other.