1 {-# LANGUAGE TemplateHaskell #-}
3 {-# LANGUAGE DeriveGeneric #-}
10 data Tuple a b = Tuple a b
13 data Tuple3 a c = Tuple3 a Int c
16 data TupleR a b = TupleR {first :: a, second :: b}
19 data List a = Nil | Cons a (List a)
24 Plus :: Expr a -> Expr a -> Expr a
25 Equal :: Expr a -> Expr a -> Expr Bool