   return Dictionary.init(uniqueKeysWithValues: result)
 }
 
-extension String {
+private extension String {
   func deletingPrefix(_ prefix: String) -> String {
     guard hasPrefix(prefix) else { return self }
     return String(dropFirst(prefix.count))

  return nil
}

func convertToNumber(_ value: Any) -> NSNumber? {
  switch value {
  case let value as Bool:
    return value as NSNumber

  XCTFail(error, file: file, line: line)
}

private func diff(_ result: [String: Any], _ expected: [String: Any], path: String = "") -> String? {
  // check keys
  if Set(result.keys) != Set(expected.keys) {
    let lhs = result.keys.map { " - \($0): \(result[$0] ?? "")" }.joined(separator: "\n")
