anchor.diff:          else "a " + name
       match opt, originalValue with 
       | Some value, _ -> value
  -    | None, Some ((JsonValue.Array _ | JsonValue.Object _) as x) -> failwithf "Expecting %s at '%s', got %s" (getTypeName()) path <| x.ToString(JsonSaveOptions.DisableFormatting)
  +    | None, Some ((JsonValue.Array _ | JsonValue.Record _) as x) -> failwithf "Expecting %s at '%s', got %s" (getTypeName()) path <| x.ToString(JsonSaveOptions.DisableFormatting)
       | None, _ when typeof<'T> = typeof<string> -> "" |> unbox
       | None, _ when typeof<'T> = typeof<float> -> Double.NaN |> unbox
       | None, None -> failwithf "'%s' is missing" path
  
positive.code:     let json = JsonRuntime.ToJsonValue cultureInfo value
      JsonDocument.Create(json, "")
  
    // Creates a JsonValue.Object and wraps it in a json document
    static member CreateRecord(properties, cultureStr) =
      let cultureInfo = TextRuntime.GetCulture cultureStr
      let json = 
  
negative.code:     | InferedTypeTag.Collection -> 
          function JsonValue.Array _ -> true | _ -> false
      | InferedTypeTag.Record _ -> 
          function JsonValue.Record _ -> true | _ -> false
      | InferedTypeTag.Json -> 
          failwith "Json type not supported"
      | InferedTypeTag.Null -> 
  