An theorem prover for intuitionistic propositional logic to generate a Haskell expression when given a type.