+-- NodeIDSet
+class NoDuplicates ids => NodeIDSet ids
+instance NodeIDSet Nil
+instance (OccursNot id ids, NodeIDSet ids) => NodeIDSet (Cons id ids)
+
+-- LPath (list of labeled node IDs)
+class LPath p
+instance LPath Nil
+instance LPath p => LPath (Cons (Cons l id) p)
+
+-- Node
+class NodeIDSet (LinksFrom n) => Node n