@NotNull
  private static <R, T> FunctionalParser<R, T> pure(@Nullable final R value) {
    return new PureParser<>(value);
  }
@NotNull
  private static <R, T> FunctionalParser<R, T> pure(@Nullable final R value)