Just playing with some custom DSL to do very basic multidispatch in Ruby