Control.Applicative.Plus
withOptional
optional'