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