replicateCU :: (ReifyInt chsz, UA a) => chsz -> Int -> a -> Chunked chsz a
replicateCU chsz n e | n > reifyInt chsz = consChunks (replicateU (reifyInt chsz) e) $ replicateCU  chsz (n-reifyInt chsz) e
                     | otherwise = CU [replicateU n e]
replicateCU :: (ReifyInt chsz, UA a) => chsz -> Int -> a -> Chunked chsz a
replicateCU chsz n e | n > reifyInt chsz = consChunks (replicateU (reifyInt chsz) e) $ replicateCU  chsz (n-reifyInt chsz) e
                     | otherwise = CU [replicateU n e]
replicateCU chsz n e | n > reifyInt chsz = consChunks (replicateU (reifyInt chsz) e) $ replicateCU  chsz (n-reifyInt chsz) e
                     | otherwise = CU [replicateU n e]