anchor.diff:          parsed4 = shape2 |> should be False
           parsed4 = shape3 |> should be False
           parsed4 = shape4 |> should be True
  -        Error = parse_error |> should be True
  +        Error = parsedX |> should be True
  
positive.code:         """
  {"Case":"Magic","Fields":[{"foo":42,"bar":[{"Case":"Rectangle","Fields":[{"width":1.3,"length":10.0}]},{"Case":"Circle","Fields":[2.5]}]}]}
          """.Trim() |> should equal json4
          let parsed1 = JsonConvert.DeserializeObject<Shape> json1
          let parsed2 = JsonConvert.DeserializeObject<Shape> json2
          let parsed3 = JsonConvert.DeserializeObject<Shape> json3
          let parsed4 = JsonConvert.DeserializeObject<Shape> json4
          let parse_error =
              try
                  JsonConvert.DeserializeObject<Shape> "Meh!"
              with
              | :? JsonException -> Error
          shape1 |> should equal parsed1
          shape2 |> should equal parsed2
          shape3 |> should equal parsed3
  
negative.code:         let shape3 = Empty
          let shape4 = Magic {
              foo = 42
              bar =
              [
                shape1
                shape2
              ]
          }
          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}]}
  