Geometric algebra in Haskell