anchor.diff:          module HashCompare = 
               open System.Reflection
               open System.Linq.Expressions
  +            open System.Runtime.CompilerServices
   
               //-------------------------------------------------------------------------
               // LangaugePrimitives.HashCompare: Physical Equality
  
positive.code:                     | t when t.IsArray || typeof<System.Array>.IsAssignableFrom t ->
                          // I could do something here, but I doubt it would have any real performance impact
                          null
  
                      | t when typeof<IStructuralEquatable>.IsAssignableFrom t ->
                          (Func<_,_,_>(fun ec (a:'a) ->
  
negative.code:                     | _ -> raise (Exception "invalid logic")
  
                  static let pass0 =
                      // the whole point of the Equivalence Relation stuff is to deal with floating point numbers, so
                      // lets handle that situation first
                      match typeof<'relation> with
                      | r when r.Equals typeof<PartialEquivalenceRelation> ->
                          match typeof<'a> with
  