diff --git a/crates/uplc/src/optimize/shrinker.rs b/crates/uplc/src/optimize/shrinker.rs index f9e8e0ed..4cf9f059 100644 --- a/crates/uplc/src/optimize/shrinker.rs +++ b/crates/uplc/src/optimize/shrinker.rs @@ -183,14 +183,13 @@ fn lambda_reducer(term: &mut Term) { body, } = func { - if let Term::Constant(c) = arg { - if !matches!(c.as_ref(), Constant::String(_)) { + match arg { + Term::Constant(c) if matches!(c.as_ref(), Constant::String(_)) => (), + Term::Constant(_) | Term::Var(_) | Term::Builtin(_) => { let body = Rc::make_mut(body); *term = substitute_term(body, parameter_name.clone(), arg); } - } else if let Term::Var(_) | Term::Builtin(_) = arg { - let body = Rc::make_mut(body); - *term = substitute_term(body, parameter_name.clone(), arg); + _ => (), } } }