diff --git a/go/types/mapsets/orderedmap.go b/go/types/mapsets/orderedmap.go
index bbcbedd..8224268 100644
--- a/go/types/mapsets/orderedmap.go
+++ b/go/types/mapsets/orderedmap.go
@@ -139,6 +139,17 @@
 	delete(s.values, k)
 }
 
+// Clear removes all keys/values from the OrderedMap.
+func (s *OrderedMap[K, V]) Clear() {
+	s.keys = nil
+	s.values = nil
+}
+
+// Count returns the number of keys/values in this OrderedMap.
+func (s *OrderedMap[K, V]) Count() int {
+	return len(s.keys)
+}
+
 // Clone (perform a deep copy) of the OrderedMap, copying all keys and values.
 func (s *OrderedMap[K, V]) Clone() OrderedMap[K, V] {
 	// Short-circuit clone of empty map.
diff --git a/go/types/mapsets/orderedmap_test.go b/go/types/mapsets/orderedmap_test.go
index bb93dfd..8bb3c55 100644
--- a/go/types/mapsets/orderedmap_test.go
+++ b/go/types/mapsets/orderedmap_test.go
@@ -29,6 +29,13 @@
 	keysEq := func(m *OrderedMap[string, string], keystring string) {
 		t.Helper()
 		keys := strings.Split(keystring, ",")
+		// Support keystring "" indicating an empty map is expected.
+		if len(keystring) == 0 {
+			keys = nil
+		}
+		if want, got := len(keys), m.Count(); want != got {
+			t.Errorf("Wanted count %d, got %d", want, got)
+		}
 		if want, got := keys, m.Keys(); len(want) == len(got) {
 			for i, k := range want {
 				if got[i] != k {
@@ -74,6 +81,9 @@
 			}
 		}
 	}
+	// Test Clear
+	n.Clear()
+	keysEq(&n, "")
 }
 
 // TestCycleIterator exercises the CycleIterator.
