Add pair algebraic data-type
Add currying to algebraic data constructoris