Match denom/num directly instead of () with guards