let status i =
  if is_empty i then Empty
  else if is_full i then Full
  else match d_singleton i with
    | Some(q) -> Singleton(q)
    | None -> Other