code: @SafeVarargs
      public static <I,O> Optional<O> evaluate(I input, Pattern<I,O>...patterns) {
          return new PatternEvaluator<>(patterns).evaluate(input);
      }
docs: Creates an evaluator and then evaluates the value right away.
  @param input input value
  @param patterns zero or more patterns
  @param <I> Input
  @param <O> Output
  @return O