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 recrods fields can be mutated`` () =
      Check.QuickThrowOnFailure <|
      fun (i1:int) (i2:int) (m1:int) (m2:int) ->
          (i1 <> m1 && i2 <> m2) ==>
              let mutable sr1 = { M1 = i1; M2 = i2}
              sr1.M1 <- m1
              sr1.M2 <- m2
              sr1.M1 = m1 && sr1.M2 = m2
  
  
  [<Struct>]
  
negative.code: open System
  open System.Runtime.InteropServices
  open NUnit.Framework
  
  type Record =
      {   A: int
  