an implementation of the IHO S-57 Standard in haskell