let removeTerm term lterm = 
  List.fold_left
    (fun treated t -> 
        match term,t with 
          | TCall (kf1,None), TCall (kf2,_) 
          | TReturn kf1, TReturn kf2
            when Kernel_function.equal kf1 kf2 -> treated
          | TCall(kf1,Some b1), TCall(kf2, Some b2)
            when Kernel_function.equal kf1 kf2 && 
              Datatype.String.equal b1.b_name b2.b_name -> treated
          | _  -> t::treated)
    []
    lterm