https://en.wikipedia.org/wiki/Loop_knitting
https://stackoverflow.com/questions/21505192/haskell-program...