Joel Drapper's working definition at wroclove.rb 2025: a type is not a set of objects (types can be infinite) but a *description* of a set of objects. Given such a description, you can ask for any concrete object whether it would belong to the described set. Under this lens, anything responding to `===` in Ruby qualifies as a type.