def __mul__()

in runtool/runtool/datatypes.py [0:0]


    def __mul__(self, other: Union["Node", "ListNode"]) -> "Experiments":
        """
        Calculates the cartesian product of items in
        `self` and `other` and returns an `Experiment` object
        with the results.
        """
        if isinstance(other, ListNode) and not isinstance(
            other, (Experiments, Experiment)
        ):
            return Experiments(
                [
                    Experiment.from_nodes(node_1, node_2)
                    for node_1 in self
                    for node_2 in other
                ]
            )
        elif isinstance(other, Node):
            return Experiments(
                [Experiment.from_nodes(item, other) for item in self]
            )

        raise TypeError