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