Well, it calls TypeFactory::type_of, that maps Ruby types Integer, Float, Numeric, String, Regexp, NilClass to what you expect, maps Class to anonymous meta type (i.e. 'Type'), Array to 'Array[Data]', and Hash to 'Hash[Scalar, Data]'. It maps TrueClass, and FalseClass to 'Boolean' (no distinction between true/false). If it is any other class 'c', it maps that to 'Ruby[c]'.