anchor.diff:  
   
   let [<Test>] ``struct records have correct behaviour with a [<DefaultValue>] on a value type field`` () =
  -    Check.QuickThrowOnFailure <|
  -    fun (i1:int) (i2:int) ->
  -        let r = { A = i1; B = i2 }
  -        let r1 = { R1 = r }
  -        (r1.R1 = { A = i1; B = i2 }) |@ "r1.R1 = { A = i1; B = i2 }" .&.
  -        (r1.R2 = { C = 0; D = 0 })   |@ "r1.R2 = { C = 0; D = 0 }"
  +    let i1, i2 = 0, 4
  +    let r = { A = i1; B = i2 }
  +    let r1 = { R1 = r }
  +    Assert.IsTrue (r1.R1 = { A = i1; B = i2 }) 
  +    Assert.IsTrue (r1.R2 = { C = 0; D = 0 })   
   
   
   let [<Test>] ``struct records exhibit correct behaviour for Unchecked.defaultof`` () =
  
positive.code: 
  
  let [<Test>] ``struct records support [<CustomEquality>]`` () =
      Check.QuickThrowOnFailure <|
      fun (i1:int) (i2:int) ->
          let sr1 = { C1 = i1; C2 = i2 }
          let sr2 = { C1 = i1; C2 = i2 }
          (sr1.Equals sr2)      
  
  
  let [<Test>] ``struct records support [<CustomComparison>]`` () =
      Check.QuickThrowOnFailure <|
      fun (i1:int) (i2:int) (k1:int) (k2:int) ->        
          let sr1 = { C1 = i1; C2 = i2 }
          let sr2 = { C1 = k1; C2 = k2 }
          if   sr1 > sr2 then compare sr1 sr2 = 1
          elif sr1 < sr2 then compare sr1 sr2 = -1
          elif sr1 = sr2 then compare sr1 sr2 = 0
          else false
  
  
  let [<Test>] ``struct records hold [<CustomComparison>] [<CustomEquality>] metadata`` () =
  
negative.code: 
  
  let [<Test>] ``struct records have correct behaviour with a [<DefaultValue>] on a ref type field`` () =
      let i1, i2 = 0, 4
      let s = { C = i1; D = i2 }
      let r1 = { R2 = s }
      Assert.IsTrue (obj.ReferenceEquals (r1.R1, null)) 
      Assert.IsTrue (r1.R2 = { C = i1; D = i2 })        
  
  
  [<Struct>]
  