def is_causal_source(graph: BELGraph, node: BaseEntity) -> bool:
    """Return true of the node is a causal source.

    - Doesn't have any causal in edge(s)
    - Does have causal out edge(s)
    """
    # TODO reimplement to be faster
    return not has_causal_in_edges(graph, node) and has_causal_out_edges(graph, node)
Return true of the node is a causal source.

    - Doesn't have any causal in edge(s)
    - Does have causal out edge(s)