code: function _constructPre(f, pre) {
      return function _wrapped() {
          pre.apply(this, arguments);
          return f.apply(this, arguments);
      };
  }
docs: A method that generates a function which will wrap the function `f` and call the pre condition with (arg1, arg2, ...)