They make sense when used as parser combinators.
some
means that the parser is applied as many times as possible, but at least once.
many
is similar, but allows for no parse as well, return
ing []
in such case instead of failing.
In case of Maybe
, Just ...
never "fails", thus your parser some $ Just 42
loops.