On Tue, Apr 28, 2009 at 4:54 PM, Michael Vanier <mvanier42@gmail.com> wrote:
I've stumbled upon a structure that is like a weaker version of a monad, one that supports return and >> but not >>=.  Has anyone seen this before, and if so, does it have a standard name?

That is a strange structure.  The type parameter is hardly doing anything: whenever you compose two of them together, you have no choice but to ignore the left one.

Let's call your structure S.  It's likely that S a is isomorphic to a pair (m, a), where m is some monoid.

I would see if you can restate your problem in terms of a monoid.

Luke