let remove_ff proj ff_to_remove =
let rec remove ff_list ff_num = match ff_list with
| [] -> raise Not_found
| ff :: tail ->
if ff.T.ff_id = ff_num then (Fct_slice.clear_ff proj ff; tail)
else ff :: (remove tail ff_num)
in let fi = ff_to_remove.T.ff_fct in
let ff_num = ff_to_remove.T.ff_id in
let new_ff_list = remove fi.T.fi_slices ff_num in
fi.T.fi_slices <- new_ff_list