vicinityUnsafe :: Point -> [Point]
vicinityUnsafe p =
  [ res | dxy <- moves
        , let res = shift p dxy ]
vicinityUnsafe :: Point -> [Point]
vicinityUnsafe p =
  [ res | dxy <- moves
        , let res = shift p dxy ]
vicinityUnsafe p =
  [ res | dxy <- moves
        , let res = shift p dxy ]