anchor.diff:                          | _ -> raise (Exception "invalid logic")                    
                       | f -> f
                               
  -                static member Func = pass4
  +                static member Func = pass3
   
               /// Implements generic equality between two values, with PER semantics for NaN (so equality on two NaN values returns false)
               //
  
positive.code: 
                  static let pass0 =
                      match typeof<'relation> with
                      | r when r.Equals typeof<UnknownEquivalenceRelation> -> null
                      | r when r.Equals typeof<PartialEquivalenceRelation> ->
                          match typeof<'a> with
                          | t when t.Equals typeof<float>   -> generalize (Func<_,_,_,_>(fun _ (x:float)   y -> (# "ceq" x y : bool #)))
  
negative.code: 
              type private EquivalenceRelation = class end
              type private PartialEquivalenceRelation = class end
  
              type GenericSpecializeEquals_Pass1<'a>() =
                  static let generalize (func:Func<IEqualityComparer,'aa,'aa,bool>) =
  