There are a few internal "abstract" functions to aid the specification. Most of these are not directly implemented in Ecmascript, while some may be. These functions only accept language types, no specification types. This means the only allowed types are the primitives and Object.