I would prefer to concentrate the usage of SmPL disjunctions on changing implementation details so that the specification of duplicate code can be avoided. > +( > +platform_get_irq(E, ...) > +| > +platform_get_irq_byname(E, ...) > +); Function names: +(platform_get_irq +|platform_get_irq_byname +)(E, ...); > +if ( \( ret < 0 \| ret <= 0 \) ) Comparison operators: +if (ret \( < \| <= \) 0) > +if (ret != -EPROBE_DEFER) Is it appropriate to treat this error code check as optional by the shown transformation approach? Can this case distinction be omitted? Regards, Markus