allocateArray :: (Shape dim, Elt e) => dim -> CIO (Array dim e)
allocateArray sh = do
  arr <- fmap Sugar.allocateArray (return sh)
  mallocArray arr
  return arr
allocateArray :: (Shape dim, Elt e) => dim -> CIO (Array dim e)
allocateArray sh = do
  arr <- fmap Sugar.allocateArray (return sh)
  mallocArray arr
  return arr
allocateArray sh = do
  arr <- fmap Sugar.allocateArray (return sh)
  mallocArray arr
  return arr