public Try<O> tryStaticEvaluate() {
    // type checking can be expensive when run hundreds of times simplifying expressions iteratively and it never
    // changes for a given script and input environment, so cache results between calls.
    return staticEvaluationCache.tryApply(this, returnType);
  }
Attempts to parse and evaluate this script in an environment with no variables.
<p>
If this returns {@link Try.Success} then it means this script will always return the same constant value and we can
avoid evaluating it at runtime.
planetiler-custommap/src/main/java/com/onthegomap/planetiler/custommap/expression/ConfigExpressionScript.java