'Yield cross product of all unlinked datasets to linked dataset.'

@property
def structure(self):

    effective_structure = leaf
    for unlinked_structure in self.unlinked_structures:
        effective_structure = effective_structure.multiply(unlinked_structure)
    linked_structure = (self.linked_structure or leaf)
    effective_structure = effective_structure.multiply(linked_structure)
    return (None if effective_structure.is_leaf else effective_structure)
