In designing languages, we strive for consistency and elegance. In object-oriented languages, simple data types have always been a problem in that they do not quite fit in with the object model. In some respects they seem to be objects, in others they are not. This typically creates the need to introduce special cases into the language definition. This paper discusses the problems involved and proposes an approach to the definition of an object model that allows the elegant inclusion of simple data types.