@solve.implementation(for_type=ast.IfElse)<EOL>def solve_ifelse(expr, vars):
for condition, result in expr.conditions():<EOL><INDENT>if boolean.asbool(solve(condition, vars).value):<EOL><INDENT>return solve(result, vars)<EOL><DEDENT><DEDENT>return solve(expr.default(), vars)<EOL>
Evaluate conditions and return the one that matches.