let compose_partial1 f g a =
    let (b, rho) = g a in
      (try
         let (c, tau) = f b in
           (c, dep2 rho tau )
       with
           Not_found -> (b, rho))