decodeBoard :: BStr.ByteString -> Board
decodeBoard str =
    Board $ Map.fromList $ mapMaybe removeNoneValue $ concat $
    zipWith zip  (chunksOf 2 positions) (map unpackNumber $ BStr.unpack str)
decodeBoard :: BStr.ByteString -> Board
decodeBoard str =
    Board $ Map.fromList $ mapMaybe removeNoneValue $ concat $
    zipWith zip  (chunksOf 2 positions) (map unpackNumber $ BStr.unpack str)
decodeBoard str =
    Board $ Map.fromList $ mapMaybe removeNoneValue $ concat $
    zipWith zip  (chunksOf 2 positions) (map unpackNumber $ BStr.unpack str)