Modules

yet another implementation of multimethods