@hackage perm0.2.0.0

permutation Applicative and Monad with many mtl instances

Based on "Parsing Permutation Phrases", by Arthur Baars, Andres Loeh and S. Doaitse Swierstra, Haskell Workshop 2001. The implementation given here does not include explicit optional actions, and instead implements Alternative and MonadPlus. m <*> (lift n <|> pure a) should be used where addOpt m a n would be used.