code: static boolean mayHaveConditionalCode(Node n) {
      for (Node c = n.getFirstChild(); c != null; c = c.getNext()) {
        switch (c.getToken()) {
          case FUNCTION:
          case AND:
          case OR:
          case HOOK:
            return true;
          default:
            break;
        }
        if (mayHaveConditionalCode(c)) {
          return true;
        }
      }
      return false;
    }
docs: We consider an expression trivial if it doesn't contain a conditional expression or
  a function.