let fold_right f f' (cave : t) i =
       Array.fold_right 
         (fun xs rest -> f' (Array.fold_right f xs i) rest) 
         cave i