Hi,
we've been debating the usefulness of Monad instances for Stream [2] or homogeneous tuples (fixed-length vectors). The Applicative implementation for them is simply zipping, very useful indeed. The "join" of their Monad instances takes the diagonal of a 2-dimensional plane (finite for tuples, infinite for Stream). (See also [1].)
The question is, are such monad instances used in the wild? Are they actually useful or interesting for anything?
Thanks
Petr