
Roman Cheplyaka
- what do you need unsafeCoerce for?
The unsafeCoerce is needed because the library is severely broken. Consider this: do onlyIf False x <- c onlyIf True return x There is a good reason why Haskell's type system would never have allowed to write this library. I recommend the author to try again without unsafeCoerce. It won't work. Also I'm quite sure that the monads don't have associative (>>) either. Consider this: yes = onlyIf True no = onlyIf False yes >> x >> no >> y According to the intended semantics this should result in 'x', but what does yes >> (x >> no) >> y result in? Greets, Ertugrul -- Not to be or to be and (not to be or to be and (not to be or to be and (not to be or to be and ... that is the list monad.