Outsystems wraps most inputs in a span, as you can see in the screenshots below.



In some cases, that leads to cumbersome CSS selectors. For example, when I want to style a label succeeding an input, I need to write the following CSS:
span:has(> .checkbox) + label {
... css styling
}
If I wouldn't be wrapped, I could just simply use the input + label selector.
Also leads to a cleaner DOM imho.