let fill t x =
      assert_positive "fill" x;
      let old_level = t.level in
      t.level <- C.min t.size (C.(+) old_level x);
      C.(-) t.level old_level