Although it shouldn't be a problem in normal usage, I'd split this into two distinct `if`s, one for `sections` and one for `fields`, just to be on the safe side.