pre(ev, fn) {
    if (typeof fn !== 'function') {
      throw new Errors.ThinkAgainError('Second argument to `pre` must be a function');
    }
    if (fn.length > 1) {