John Meacham wrote: > ... if ACIO is well defined which I think it is. Affine: ma >> mb = mb Central: do {a <- ma;b <- mb;return (a,b)} = do {b <- mb;a <- ma;return (a,b)} ...for some concept of "=". Is this correct? Are there any other constraints?