anchor.diff:                  when 'T : float32    = not (# "clt.un" x y : bool #)
                   when 'T : char       = not (# "clt" x y : bool #)
                   when 'T : decimal     = System.Decimal.op_GreaterThanOrEqual ((# "" x:decimal #), (# "" y:decimal #))
  +                
  +                when 'T : DateTime = DateTime.Compare((# "" x : DateTime #), (# "" y : DateTime #)) >= 0
   
   
               //-------------------------------------------------------------------------
  
positive.code:                      // gives reliable results on null values.
                       System.String.CompareOrdinal((# "" x : string #),(# "" y : string #))
                   when 'T : decimal     = System.Decimal.Compare((# "" x:decimal #), (# "" y:decimal #))
  
  
              /// Generic comparison. Implements ER mode (where "0" is returned when NaNs are compared)
  
negative.code:                   when 'T : char    = (# "ceq" x y : bool #)
                    when 'T : string  = System.String.Equals((# "" x : string #),(# "" y : string #))
                    when 'T : decimal     = System.Decimal.op_Equality((# "" x:decimal #), (# "" y:decimal #))
                    when 'T : DateTime = DateTime.Equals((# "" x : DateTime #), (# "" y : DateTime #))
                                 
              /// Implements generic equality between two values, with PER semantics for NaN (so equality on two NaN values returns false)
              //
  