expandStep (D n) = replicate n (V2 0 -1)
expandStep (R n) = replicate n (V2 1 0)
-manhattan :: Position -> Position -> Int
-manhattan p1 p2 = max dx dy
+lInfNorm :: Position -> Position -> Int
+lInfNorm p1 p2 = max dx dy
where V2 dx dy = abs $ p1 ^-^ p2
touching :: Position -> Position -> Bool
-touching p1 p2 = (manhattan p1 p2) <= 1
+touching p1 p2 = (lInfNorm p1 p2) <= 1
towards :: Position -> Position -> Position
towards p1 p2 = signum $ p2 ^-^ p1