Internet Protocol data structures for Haskell