 
loopThroughRightSP :: SP (Either a b) (Either c d) -> SP c a -> SP b d
loopThroughRightSP is a variation of the loop combinators that has turned out to be
useful when re-using stream processors. loopThroughRightSP spnew spold
 
The loop obtained with loopThroughRightSP spnew spoldloopLeftSP spnew, with the addition that the loop goes
through spold. spold can only communicate with the
outside world by going via spnew and is in this sense
encapsulated inside spnew.
The corresponding fudget combinator: loopThroughRightF.