# Talk:Nondeterminism, monadically

From HaskellWiki

Chris Angus: Stick everything in a monad which returns a list of answers and backtrack on failure (see The essence of functional programming).

- Andrew Bromage: Ralf Hinze has produced a more efficient nondeterminism monad using the technique of
*Deriving From Specifications*. Note that this requires universally-quantified types?, which is not in Haskell 98.

- Stefan Ljungstrand: I'm sorry but I can't see any use of multi-parameter type classes above. Perhaps you meant multi-parameter type constructors? (curried!) which already is in Haskell 98 AFAIK (but not in SML e.g.)

- Andrew Bromage: My mistake. The earlier version I had there did indeed use multi-parameter type-classes, but then I switched to this version.