anchor.diff:  
       let readRecord (t: Type) =
           json {
  -            let fields = FSharpType.GetRecordFields (t, goPastInterfaces)
  +            let fields = FSharpType.GetRecordFields (t, flags)
                               |> Array.map (fun p -> p.Name, p.PropertyType)
               let! map   = Map.ofArray fields |> readFields 
               let array  = [| for f, _ in fields do yield map.Item f |]
  -            let record = FSharpValue.MakeRecord (t, array, goPastInterfaces)
  +            let record = FSharpValue.MakeRecord (t, array, flags)
   
               return record }
   
       let writeRecord (o: obj) =
           json {
  -            let fields = FSharpType.GetRecordFields (o.GetType (), goPastInterfaces)
  +            let fields = FSharpType.GetRecordFields (o.GetType (), flags)
               let names  = fields |> Array.map (fun f -> f.Name)
  -            let values = FSharpValue.GetRecordFields (o, goPastInterfaces)
  +            let values = FSharpValue.GetRecordFields (o, flags)
               let properties = Array.zip names values |> Map.ofArray
               do! writeObject (properties) }
   
  
positive.code: [<AutoOpen>]
  module internal Unions =
  
      let isUnion (t: Type) =
          FSharpType.IsUnion(t, goPastInterfaces)
   
      let readUnion (t: Type) =
          json {
  
negative.code: ﻿(*
   * Derivative of FifteenBelow.Json (Copyright (c) 2014 15below Ltd)
   * See licenses/FifteenBelow.Json.txt
   *)
  
  module Serialization
  
  open Bytes
  
  