This can work if you cast a missing rule as `array(null)` (instead of adding the `if`