public static <I extends ScriptContext, O> ConfigExpression<I, O> parse(Object object,
    TagValueProducer tagValueProducer, ScriptEnvironment<I> context, Class<O> outputClass) {
    return new ConfigExpressionParser<>(tagValueProducer, context).parse(object, outputClass).simplify();
  }
Returns an expression parsed from user-defined YAML that can be evaluated against an input of type {@code <I>} and
returns output of type {@code <O>}.

@param object           a map or list of tag criteria
@param tagValueProducer a TagValueProducer
@param <I>              Input type of the expression
@param <O>              Return type of the expression
planetiler-custommap/src/main/java/com/onthegomap/planetiler/custommap/ConfigExpressionParser.java