There isn't a `CharSequence.indexOf` so harder to implement; would end up calling `input.toString()` at start of method - I'm happy for us to stick with Strings. Thoughts?

I'm inclined to delete `getFragmentAfter` - I used it briefly but then refactored the downstream code so now it's not used! Will do that unless you have other strong feelings.