https://serokell.io/blog/dimensions-and-haskell-introduction
Check out this post by Serokell.