def visit_BinOp(self, node: ast.BinOp) -> Optional[Value]:
    if isinstance(node.op, ast.BitOr):
        return _SubscriptedValue(KnownValue(Union), (self.visit(node.left), self.visit(node.right)))
    else:
        return None
def visit_BinOp(self, node: ast.BinOp) -> Optional[Value]:
    if isinstance(node.op, ast.BitOr):
        return _SubscriptedValue(KnownValue(Union), (self.visit(node.left), self.visit(node.right)))
    else:
        return None