“…Language and compiler designers are well aware of the intricacies of erased generics [15,21,30,32,35,42,46,75], one of which is requiring object-based representations for primitive types. To illustrate this, let us analyze the identity method, parameterized on the argument type, T: The low-level compiled code for identity needs to handle incoming arguments of different sizes and semantics: booleans, bytes, characters, integers, floating point numbers and references to heap-allocated objects.…”