Memoize trans::adt::represent_type