The Splitter type seems to form a contravariant functor: given a splitter than works on a and a preprocessing step b -> a, we can get a splitter that works on b.
The package cotravariant adds a type class for this, though if you wanted to avoid dependencies a simple function would also work.
Is this something you would consider adding to this library? I'd be happy to implement it.