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