The BIP-379 text specifies rule for reasoning about correctness and malleability through a number of type properties. These rules are implemented in Bitcoin Core's miniscript implementation.
There are multiple equivalent ways of writing these. For example, the BIP text says that an or_b fragment always has the "e" (uniquely dissatisfiable) property. The Bitcoin Core implementation however only assigns it the "e" property when both child expressions have "e" as well. This is an irrelevant distinction, because the "e" property is only used for reasoning about malleability, and an or_b whose children do not have "e" is always malleable. Thus, for all cases where it matters, "always e" and "e when children have e" are equivalent.
In the context of https://github.com/bitcoin/bips/pull/2240, which adds test vectors to BIP-379, it is helpful however to make the implementation match the specification exactly, even for these cases where it does not matter.
Draft until these is some agreement on this approach in https://github.com/bitcoin/bips/pull/2240.