But if I'd move the if-else back to the called, the caller would contain partitial code from the if-else construct, as we do

```
if (wipe_buf) {
  /// code
} else {
  if (del_buf) {
    /// code
  }
  /// something else
  if (del_buf) /// more
}
```

Moving this to the caller would result in something like
```
if (wipe_buf)
  wipe_buf(buf);
else {
  if (del_buf)
    del_buf(buf);
  // something
  if (del_buf)
    // something more
}
```
which isn't really clean either!