docs: public final JsExpr assertExprAndCollectRequires(RequiresCollector collector) {
      Expression expression = (Expression) this;
      if (!expression.isRepresentableAsSingleExpression()) {
        throw new IllegalStateException(String.format("Not an expr:\n%s", this.getCode()));
      }
      collectRequires(collector);
      return expression.singleExprOrName();
    }