Revise custom type generation