Usando sd como uma função genérica em R

Se eu tiver uma classe chamadafoo, é fácil sobrecarregar osummary função

summary.foo = function(x, ...) print("bar")

No entanto, esta técnica não funciona com osd função, isto é

> bar = createFooClass()
> sd.foo = function(x, ...) print("Hi")
> sd(bar)
  error: is.atomic(x) is not TRUE

Qual é a maneira correta de sobrecarregar essa função?