C'est l'occasion de regarder du côté de regarder du côté de Parsec pour ce genre de problèmes, vu que c'est une librairie importante du monde Haskell, ça vaut le coup.