I assume `.quotientAndRemainder(dividingBy:)`

calculate both quotient and remainder values with fewer instructions then doing it separately with `/`

and `%`

?

For my use case, the code look a little less clear with `.quotientAndRemainder(dividingBy:)`

:

```
extension Int {
// collect digits in reverse order, ignoring negative sign
var digitsInReverse: [Int] {
if self == 0 {
return [0]
}
var result = [Int]()
var n = abs(self)
while (n > 0) {
let (q, r) = n.quotientAndRemainder(dividingBy: 10) // is there anyway to assign quotient to `n` directly here?
result.append(r)
n = q
}
return result
}
}
```

vs.

```
extension Int {
// collect digits in reverse order, ignoring negative sign
var digitsInReverse: [Int] {
if self == 0 {
return [0]
}
var result = [Int]()
var n = abs(self)
while (n > 0) {
result.append(n % 10)
n = n / 10
}
return result
}
}
```