move expr::unbox_and_eval to return a Result