uint64_t solver_Algebra_to_boolean(struct solver_Algebra *a, uint64_t expr) {
switch(get_tag(expr)) {
case Tag_Boolean:
return expr;
case Tag_Equals:
return pack_boolean(equals(a, get_car(a, expr), get_cdr(a, expr)));
default:
return pack_undefined();
}
}