define-methods' ->
`define-methods' is a bad name for an expression form.
This change adds an additional argument to define-generics that binds a procedure to check if a given method is defined for an instance of the generic.