https://loominate.net/2013/10/11/math-from-scratch-in-haskell-addition/
Math from scratch in Haskell: addition - Loominate