pub fn open_node(
node_id: NodeId,
budget: f64,
temperature: f64,
mode: OpenMode,
load_node: impl FnMut(NodeId) -> Result<Option<Node>, String>,
candidate_filter: impl FnMut(&[NodeId]) -> Result<Vec<NodeId>, String>,
) -> Result<OpenResult, String>