This does a pipeline wrapper class, and as an extension method for implementations of a type. This is useful for arranging pipelines and whatnot; it does this using a state for that instance, so it's nothing like an indexed monad, but it does allow enumerations of funcs to be applied.
the next step to this would be to make sure that it's monadic: if i could do it as monadic extension methods then that would be ideal, but in the meantime here's this little thing.