haskell crypto-square