Non posso parlare per quel msgpack che hai collegato, ma l'uso di haskell sembra abbastanza semplice e sembra performante, lo farei sicuramente fino a quando non lo trovassi inadeguato.
Inoltre c'è protobuff che è un ottimo protocollo e haskell ha una lib per questo qui:
link
In alternativa puoi sempre usare solo un formato di serializzazione più comune: JSON è ben supportato su entrambi i lati.
Se hai familiarità con Attoparsec e disponi di una struttura a oggetti limitata che vuoi inviare avanti e indietro, potresti scrivere il tuo parser Attoparsec molto rapidamente sul lato haskell, ma se deve andare anche tu dall'altra parte dovrebbe quindi fare cose simili su Python che richiederebbe molto più lavoro.
In genere eviterei di scrivere a mano questo però, se fossi io, JSON è ben supportato e il protobuff è anche un buon standard (anche se non l'ho usato in Haskell, quindi non posso garantire la qualità di esso API in Haskell)