tm.type = function(name, aliases, fn, ctx) {
      if (_.isFunction(aliases)) {
        ctx = fn;
        fn = aliases;
        aliases = [];