P<: Type System implementation