anchor.diff:      (validJsonStringGen', tree())
       |> recordGen
   
  +type Generators = 
  +    static member JsonValue() =
  +         {new Arbitrary<JsonValue>() with
  +            override x.Generator = jsonValueGen
  +            override x.Shrinker j = 
  +                match j with
  +                | JsonValue.Array elems -> elems :> seq<JsonValue>
  +                | JsonValue.Record [|prop|] -> Seq.singleton (prop |> snd)
  +                | JsonValue.Record props -> seq {for n in props -> JsonValue.Record([|n|])}
  +                | _ -> Seq.empty }
  +
  +[<TestFixtureSetUp>]
  +let fixtureSetup() =
  +    Arb.register<Generators>() |> ignore
  +
  +#if INTERACTIVE
  +fixtureSetup()
  +#endif
  +
  +[<Test>]
  +let  ``Parsing stringified JsonValue returns the same JsonValue`` () =
  +    let parseStringified (json: JsonValue) = 
  +        json.ToString(JsonSaveOptions.DisableFormatting)
  +        |> JsonValue.Parse = json
  +
  +    Check.One ({Config.QuickThrowOnFailure with MaxTest = 1000},
  +               parseStringified)
  +
   [<Test>]
   let ``Stringifing parsed string returns the same string`` () =
       let stringifyParsed (s : string) =
  
positive.code:     Arb.generate<string> 
      |> Gen.suchThat ((<>) null)
      |> Gen.suchThat (Seq.toList >> isValidJsonString)
  
  let jsonStringGen : Gen<string> =
   
  
negative.code: open FSharp.Data
  open FsCheck
  
  #if INTERACTIVE
  Runner.init.Force()
  #endif
  
  let escaped = Set(['t';'r';'b';'n';'f';'\\';'"'])
  