Combinators

I need to tidy up the path sets, but creating that PR to start the discussion on the new API.