struct   type t = [     | `Act of Action.t | `Get of Key_in_collection.t | `Get_all of string     | `Load of string | `Close     | `Iter of string   ] * string   let to_string (t : t) =     match t with     | (`Act k, e) -> sprintf "[Executing %s, Error: %s]" (Action.to_string k) e     | (`Close, e) -> sprintf "[Closing, %s]" e     | (`Get k, e) ->       sprintf "[Getting %s, Error: %s]" (Key_in_collection.to_string k) e     | (`Get_all c, e) -> sprintf "[Getting-all-in %s, Error: %s]" c e     | (`Load u, e) -> sprintf "[Loading %S, Error: %s]" u e     | (`Iter s, e) -> sprintf "[Iterating on %S, Error: %s]" s e end