Altered proof monad API, renamed ProdType to FuncType and SumType to RecordType.