// Direct-match path uses the reduced args as before.
const reqArgs = subbedArgs.map(reduceTypeArg);
const matched = findMatchingInstances(sc.seSuperclass, reqArgs);
- const reqLabel = 'superclass needed ' + sc.seSuperclass.qnName + ' ' +
- renderArgsCompact(reqArgs, inst.iiTyVars);
+ // Edge label: just "superclass constraint". The target node
+ // (matched instance, or — after task #4 — a predicate node)
+ // carries the class + arg shape, so naming the class on the
+ // edge would just duplicate it.
+ const reqLabel = 'superclass constraint';
if (matched.length === 0) {
// No instance found in our data; link to the superclass class