function expensiveChecksInterceptor(fn) {
      if (!fn) return fn;
      expensiveCheckFn.$$watchDelegate = fn.$$watchDelegate;
      expensiveCheckFn.assign = expensiveChecksInterceptor(fn.assign);
      expensiveCheckFn.constant = fn.constant;
      expensiveCheckFn.literal = fn.literal;
      for (var i = 0; fn.inputs && i < fn.inputs.length; ++i) {
        fn.inputs[i] = expensiveChecksInterceptor(fn.inputs[i]);
      }
      expensiveCheckFn.inputs = fn.inputs;

      return expensiveCheckFn;

      function expensiveCheckFn(scope, locals, assign, inputs) {
        var expensiveCheckOldValue = runningChecksEnabled;
        runningChecksEnabled = true;
        try {
          return fn(scope, locals, assign, inputs);
        } finally {
          runningChecksEnabled = expensiveCheckOldValue;
        }
      }
    }
@ngdoc method
@name $parseProvider#setIdentifierFns

@description

Allows defining the set of characters that are allowed in Angular expressions. The function
`identifierStart` will get called to know if a given character is a valid character to be the
first character for an identifier. The function `identifierContinue` will get called to know if
a given character is a valid character to be a follow-up identifier character. The functions
`identifierStart` and `identifierContinue` will receive as arguments the single character to be
identifier and the character code point. These arguments will be `string` and `numeric`. Keep in
mind that the `string` parameter can be two characters long depending on the character
representation. It is expected for the function to return `true` or `false`, whether that
character is allowed or not.

Since this function will be called extensively, keep the implementation of these functions fast,
as the performance of these functions have a direct impact on the expressions parsing speed.

@param {function=} identifierStart The function that will decide whether the given character is
  a valid identifier start character.
@param {function=} identifierContinue The function that will decide whether the given character is
  a valid identifier continue character.