add algebraic lambda types