Non-empty pipes

Because I have a use-case where there are sources with always at least one output element, I've made this type, which allows safely folding without an initial element.

Some tests are included.