monad-tree (hackage): This package provides monad instances for a rose tree-like data structure that can be used for nondeterministic computations. This is similar to the list monad but allows for computations to remain agnostic about the specific search procedure used.
Keywords: control|library|mit