A Generalization must be created between two model elements of the same type, except in the case of a Signal, which can specialize a Signal or a Class.
A Class inheriting from a UseCase or a Node inheriting from an Artifact for example would not make sense.
The only exception is for Signals that can inherit from Classes.