Erasure : Process by which additional type information is removed and a simpler type is placed in the compiled form. This can refer to removing parametric type (generics) information from types and methods, or convert a Lense type to a primitive type;
Fundamental Type : A type that is recognized and/or handled specially by the compiler or the language. Lense fundamental types are numbers , strings, booleans , sequences , progressions , intervals and the maybe type. Language literals only exist for fundamental types.
Primitive Type : A type that represents a value that is directly handled in the machine stack and/or has native support in the machine. Is common for numbers, booleans and arrays to be primitive types. Primitive types are often also fundamental types and the compiler and/or the language handle them specially. Lense language does not have primitive types but the compiler is free to optimize the code to use them in the compiled form. For example, to use primitive boolean instead of lense.core.lang.Boolean
.