data TypeVar = TypeVar Int data SimpleType = VarType TypeVar | ArrowType SimpleType SimpleType data SimpleTypesChurch = MkBaseInt Int | MkBaseBool Bool | ArrowTypeChurch SimpleTypesChurch SimpleTypesChurch