def new_basenode(*bases):
    """Create a new base node type with its own distinct nodespace.
    This provides a way to reuse node names without name conflicts in the
    metaclass cache.
    """
    return type('Node', bases, {})
