Refactor ADT types