placeStone :: Player p
           => Board p                      -- ^ The current state of the board
           -> p                            -- ^ The player, @p@
           -> (Int, Int)                   -- ^ The position, @x@
           -> ([(p, (Int, Int))], Board p) -- ^ List of taken stones and the
                                           -- resulting board position
placeStone b p = first (map $ second repaCoordsToTuple) . B.placeStone b p . tupleToRepaCoords
placeStone :: Player p
           => Board p                      -- ^ The current state of the board
           -> p                            -- ^ The player, @p@
           -> (Int, Int)                   -- ^ The position, @x@
           -> ([(p, (Int, Int))], Board p)
placeStone b p = first (map $ second repaCoordsToTuple) . B.placeStone b p . tupleToRepaCoords
placeStone b p = first (map $ second repaCoordsToTuple) . B.placeStone b p . tupleToRepaCoords