Five Ways to Compute the Cartesian Product with Haskell. #haskell