Let's try in Haskell instead...