For guile 2.9

Executing
  (use-modules (oop goops))
  (define-method (< (s1 <string>) (s2 <string>)) (pk 'wow) #f)
  (define (f x) (< x x))
  (f "a")

results in :

   unnamed port>:3:14: In procedure f: 
   In procedure nan?: Wrong type argument in position 1: "a"