trait
HyperRelationFactory[+START <: Node, STARTRELATION <: Relation[START, HYPERRELATION], HYPERRELATION <: HyperRelation[START, STARTRELATION, HYPERRELATION, ENDRELATION, END], ENDRELATION <: Relation[HYPERRELATION, END], +END <: Node] extends NodeFactory[HYPERRELATION] with AbstractRelationFactory[START, HYPERRELATION, END]