docs: private boolean containsFunctionById(int functionId) {
          if (this instanceof AbstractValueExpression) {
              return false;
          }
  
          List<AbstractExpression> functionsList = findAllFunctionSubexpressions();
          for (AbstractExpression funcExpr: functionsList) {
              assert(funcExpr instanceof FunctionExpression);
              if (((FunctionExpression)funcExpr).hasFunctionId(functionId)) {
                  return true;
              }
          }
  
          return false;
      }