let take_at_most t x = assert_positive "take_at_most" x; let old_level = t.level in t.level <- C.max C.zero (C.(-) old_level x); C.(-) old_level t.level