// compare takes the left and right objects and applies the comparator function to them.
compare takes the left and right objects and applies the comparator function to them.
// compare takes the left and right objects and applies the comparator function to them .
func (e Null) compare(r Object, f func(Null, Null) Boolean) (Boolean, error) {
	if r == nil {
		return false, nil
	}
	var right Null
	switch t := r.(type) {
	case Null:
		right = t
	case *Null:
		right = *t
	default:
		return false, fmt.Errorf("cannot cast %v to Null", r)
	}
	return f(e, right), nil
}
func ( e Null ) compare ( r Object , f func ( Null , Null ) Boolean ) ( Boolean , error ) { if r == nil { return false , nil } var right Null switch t := r . ( type ) { case Null : right = t case * Null : right = * t default : return false , fmt . Errorf ( " " , r ) } return f ( e , right ) , nil }
compare takes the left and right objects and applies the comparator function to them.
compare takes the left and right objects and applies the comparator function to them .