Zoomer sur un des coins de l'image consiste simplement à renvoyer
l'élément correspondant dans la liste des fils de l'image, en
distinguant le cas d'une image unie bien entendu. La représentation
en tableau imposerait alors, si l'on voulait avoir une gestion efficace de
la mémoire, de regarder quels sont les éléments du tableau
qui ne sont plus utilisés et de les en enlever, alors qu'ici le GC se
charge de tout.
let zoom z = function
Fantome -> failwith("Zoom sur une image fantome")
| Color c -> Color c
| Node l -> !(k_ieme z l);;
Ce zoom est donc réalisé en temps constant.