Experimenting with crypto/number theory in Haskell