use the same representation for primitive and non-primitive classes