Protocol buffer parser and Haskell code generator