SKK implemented in Haskell