def METHOD_NAME(fgraph, node) -> Optional[List[MeasurableSpecifyShape]]:
    r"""Finds `SpecifyShapeOp`\s for which a `logprob` can be computed."""
    if isinstance(node.op, MeasurableSpecifyShape):
        return None  # pragma: no cover
    rv_map_feature: Optional[PreserveRVMappings] = getattr(fgraph, "preserve_rv_mappings", None)
    if rv_map_feature is None:
        return None  # pragma: no cover
    rv = node.outputs[0]
    base_rv, *shape = node.inputs
    if not (
        base_rv.owner
        and isinstance(base_rv.owner.op, MeasurableVariable)
        and base_rv not in rv_map_feature.rv_values
    ):
        return None  # pragma: no cover
    new_op = MeasurableSpecifyShape()
    new_rv = new_op.make_node(base_rv, *shape).default_output()
    return [new_rv]