let pop t = match t.data with [] -> raise Empty | x :: q -> t.data <- q; t.f_data <- x :: t.f_data; x