drawPixel :: PrimMonad m => Canvas (PrimState m) -> Color -> P2 -> m (Canvas (PrimState m))
drawPixel canvas color point = do
    let pixel = (point, color, True)
    UM.write canvas (index point) pixel
    return canvas
drawPixel :: PrimMonad m => Canvas (PrimState m) -> Color -> P2 -> m (Canvas (PrimState m))
drawPixel canvas color point = do
    let pixel = (point, color, True)
    UM.write canvas (index point) pixel
    return canvas
drawPixel canvas color point = do
    let pixel = (point, color, True)
    UM.write canvas (index point) pixel
    return canvas