method is_empty : bool =
    try
      self#iter
        (fun _ index ->
           if index#size > 0 then
             raise Exit;
        );
      true;
    with
      | Exit ->
          false