code: function wrapify(fn, before = noop, after = noop) {
    return function(...args) {
      before.call(this);
      var ret = fn.call(this, ...args);
      after.call(this);
      return ret;
    };
  }
docs: Create a function with a prelude and postlude.