anchor.diff:          let shape3 = Empty
           let shape4 = Magic {
               foo = 42
  -            bar = [| shape1; shape2 |]
  +            bar =
  +            [
  +              shape1
  +              shape2
  +            ]
           }
  -        let json1 = JsonConvert.SerializeObject(shape1)
  -        let json2 = JsonConvert.SerializeObject(shape2)
  -        let json3 = JsonConvert.SerializeObject(shape3)
  -        let json4 = JsonConvert.SerializeObject(shape4)
  +        let json1 = Shape.ToJSON shape1
  +        let json2 = Shape.ToJSON shape2
  +        let json3 = Shape.ToJSON shape3
  +        let json4 = Shape.ToJSON shape4
   
           """
   {"Case":"Rectangle","Fields":[{"width":1.3,"length":10.0}]}
  
positive.code:         parsed4 = shape2 |> should be False
          parsed4 = shape3 |> should be False
          parsed4 = shape4 |> should be True
          Error = parse_error |> should be True
  
negative.code:     | Magic of SeveralShapes
      | Empty
      | Error
      static member ToJSON(shape : Shape) : string = JsonConvert.SerializeObject(shape)
      static member FromJSON(json : string) = try JsonConvert.DeserializeObject<Shape> json with | :? JsonException -> Error
  and Rectangle = {
      width : float
      length : float
  }
  and SeveralShapes = {
      foo : int
      bar : Shape list
  }
  
  type SharedFSType() = 
  