more seamless generalization

If all the methods of a given generic function have only standard
specializers, use the standard discriminating function.  This opens
the way to having a different default generic function class which
will work unchanged with existing, standard code, but allow seamless
extension (as suggested by Gábor Melis at els2014).