I'm trying to use trace() on an S4 coerce method, but get the error Error in bindingIsLocked(what, whereM) : no binding for "coerce" What am I doing wrong? Example code follows. (I've googled the R mailing lists for "trace coerce" and "trace bindingisLocked" without finding anything relevant. Perhaps I should re-define the method in terms of an ordinary function and trace the later function, as suggested by John Chambers to another user: https://stat.ethz.ch/pipermail/r-devel/2003-August/027249.html But it would be nice to be able to trace the method directly.) Thanks Gordon > setClass("MyClass1",representation(a="numeric")) [1] "MyClass1" > setClass("MyClass2",representation(a="character")) [1] "MyClass2" > setAs("MyClass1","MyClass2",function(from,to) new(to,a=as.character(from at a))) > x <- new("MyClass1",a=20) > as(x,"MyClass2") An object of class "MyClass2" Slot "a": [1] "20" > tracingState(on=TRUE) [1] FALSE > getMethod("coerce",c("MyClass1","MyClass2")) Method Definition (Class "MethodDefinition"): function (from, to = "MyClass2", strict = TRUE) new(to, a = as.character(from at a)) Signatures: from to target "MyClass1" "MyClass2" defined "MyClass1" "MyClass2" > trace("coerce",browser,signature=c("MyClass1","MyClass2")) Error in bindingIsLocked(what, whereM) : no binding for "coerce" > version _ platform i386-pc-mingw32 arch i386 os mingw32 system i386, mingw32 status major 1 minor 9.0 year 2004 month 04 day 12 language R