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