Implementations
Most types can be implemented at library level, however, user types (structs, enums, unions) need to have compiler support to emit the type information.