Many of Guile’s primitive procedures can be extended by giving them a generic function definition that operates in conjunction with their normal C-coded implementation. When a primitive is extended in this way, it behaves like a generic function with the C-coded implementation as its default method.
This extension happens automatically if a method is defined (by a
define-method call) for a variable whose current value is a
primitive. But it can also be forced by calling
Force the creation of a generic function definition for primitive.
Once the generic function definition for a primitive has been created,
it can be retrieved using
Return the generic function definition of primitive.
primitive-generic-generic raises an error if primitive
is not a primitive with generic capability.