anchor.diff:  open Newtonsoft.Json.Serialization
   
   open WpfMath
  +open WpfMath.Atoms
   
   type private BomlessFileWriter(data: string, ?extensionWithoutDot: string) =
       inherit ApprovalTextWriter(data, defaultArg extensionWithoutDot "txt")
  
positive.code:         base.CreateProperty(p, ms, Readable = true)
  
      override this.CreateProperties(``type``, memberSerialization) =
          // override that to serialize internal properties, too
          let properties =
              ResizeArray(
                  ``type``.GetProperties(BindingFlags.Public ||| BindingFlags.NonPublic ||| BindingFlags.Instance)
                  |> Seq.filter (fun p -> Array.isEmpty <| p.GetIndexParameters()) // no indexers
                  |> Seq.map (fun p -> this.DoCreateProperty(p, memberSerialization))
              )
  
          let baseTypes =
              ``type``
              |> Seq.unfold (fun t ->
                      if t.BaseType = null then
                          None
                      else
                          Some(t, t.BaseType)
                  )
  
          if Seq.exists ((=) typeof<Atoms.Atom>) baseTypes then
              properties.Insert(0,
                  new JsonProperty(
                      PropertyName = "[AtomType]",
                      PropertyType = typeof<string>,
                      Readable = true,
  
negative.code:                             member this.SetValue(_, _) = failwith "Not supported"
                      }
                  )
  
              yield! properties
          |]
  
  [<AbstractClass>]
  type ReadOnlyJsonConverter<'a>() =
  