let pointwise f al = let rho = ref dep0 in let f' a = let (b, tau) = f a in rho := dep2 tau !rho; b in let bl = Term.mapl f' al in (bl, !rho)