pub fn evaluate_piece( nodes: &[MathNode], head_idx: NodeIndex, values: &HashMap<String, f64>, functions: &HashMap<String, Vec<MathNode>>, ) -> Result<(bool, Option<f64>), String>