let rec to_string (t: t) =     match t with     | Set (k, v) -> sprintf "(set %s %S)" (Key_in_collection.to_string k) v     | Unset k -> sprintf "(unset %s)" (Key_in_collection.to_string k)     | Sequence l -> sprintf "(sequence %s)" (List.map l ~f:to_string                                              |> StringLabels.concat ~sep:" ")     | Check (k, v) ->       sprintf "(check %s %s)" (Key_in_collection.to_string k)         (Option.value_map ~default:"None" v ~f:(sprintf "(Some %S)"))