In Crystal everything is an object. The definition of an object boils down to these points:
- It has a type
- It can respond to some methods
This is everything you can know about an object: its type and whether it responds to some method.
An object's internal state, if any, can only be queried by invoking methods.