Port of datacatalog to Haskell