def applies_to?(parser, context)
      @applies_to_cache[context].fetch(parser) {
        @applies_to_cache[context][parser] = _applies_to?(parser, context)
      }
    end
def applies_to?(parser, context)
      @applies_to_cache[context].fetch(parser) {
        @applies_to_cache[context][parser] = _applies_to?(parser, context)
      }
    end
@param [Rattler::Parsers::Parser] parser a parser model
 @param [Rattler::Compiler::Optimizer::OptimizationContext] context

 @return +true+ if this optimzation applies to +parser+ in +context+