let saturate instances env hints =
    begin
      let acc = ref instances in
      List.iter
        (fun h ->
           match instance_of_hint env h with
             | None -> ()
             | Some a -> 
                 Wp_parameters.debug ~level:2 "New axiom hint %t@." a#pretty ;
                 acc := a :: !acc)
        hints ;
      List.iter
        (fun a ->
           List.iter
             (fun h ->
                match a#extend_with_hint env h with
                  | None -> ()
                  | Some a' -> 
                      Wp_parameters.debug ~level:2 "Extended axiom hint %t@." a#pretty ;
                      acc := a' :: !acc)
             hints)
        instances ; (* only the ones previously known *)
      !acc
    end