inits and tails use for, split-into-monotonics implemented