2D Shadows calculation in Haskell with TDD