let protect = function
  | Error (model, msg) ->
      model , msg
  | Log.FeatureRequest (plugin,msg) ->
      plugin , Printf.sprintf "%s not yet implemented" msg
  | Log.AbortError msg ->
      "user error" , msg
  | exn -> raise exn