Ross Paterson wrote: > Yitzchak Gale wrote: >> Maybe monads quit on failure and >> continue on success. We want the opposite >> semantics for guards, pattern matching, and >> the like. > And that's what mplus does. >> In particular, your identity... is not true... Oops, yes it is, sorry. You are using mplus as the "dual" of (<<) rather than dualiing the monad. -Yitz