First class
First class phantom type