Replaced resulting type for functions parsing recursive datatypes from data constructor to type constructor