do we need this extra `Set`, or can we use context.children and context.child (lookup)?