Base functionality that help using the Ruby type system as a base for modelling