def recurse(self, fn, *args):
fn(self, *args)<EOL>for i in self.items:<EOL><INDENT>if isinstance(i, Hypercat):<EOL><INDENT>self.recurse(i, *args)<EOL><DEDENT><DEDENT>
Calls fn on a hypercat and all its child hypercats (not resources)