Implemented type-directed ad-hoc record generation