An experiment writing a DNS message parser in Haskell