Fix define compatible type classes with value handling