Dear UseRs,
Setting methods for groups ("compare" in this case) does not work  
properly. Once one method is set ,redefining it or even removing does not  
change the behavior:
  setClass("foo"
           ,representation(range="numeric")
  )
#[1] "foo"
  setMethod("Compare",c(e1="ANY",e2="foo"),
	 function(e1,e2){
	 browser()
	 callGeneric(e1,e2 at range)
})
  #[1] "Compare"
  o<-new("foo",range=c(1,2))
  2>o
#Called from: 2 > o
#Browse[1]>
#[1]  TRUE FALSE  ##Enters browser as expected !!!
# Now, remove browser()
  setMethod("Compare",c(e1="ANY",e2="foo"),
	 function(e1,e2){
	 callGeneric(e1,e2 at range)
  })
  2>o
#Called from: 2 > o
#Browse[1]>   ######## Oups, the old function is executed here?????????  
########
#[1]  TRUE FALSE
  selectMethod(">=",c(class(2),class(o)),optional=T)  ### Shows
real
method!!!!!
#function (e1, e2)
#{
#    callGeneric(e1, e2 at range)
#}
#
#Signatures:
#        e1        e2
#target  "numeric" "foo"
#defined "ANY"     "foo"
  removeMethod("Compare",c(e1="ANY",e2="foo"))
#[1] TRUE
  2>o
##Called from: 2 > o    ### What?? Even after removing method the first  
defined
			### method is still there!!!!
#Browse[1]>
#[1]  TRUE FALSE
I tried this under Windows Xp in 2.8 and 2.9.0.
Vitalie.