Control.Monad.PlusMonad

data (m ::+ n) t

inl

inr

mapPlus

comm

assoc

assoc1

cancelLeft

cancelRight

refl

distr