This match doesn't actually require the `stringRule` method. I think it should be this instead:

    case Apply(Select(This(_), Decoded("stringRule")), List(Literal(Constant(s: String)))) ⇒ LiteralString(s)