support the redundancy-free conditional variants: 'e1 ?? e2' -> 'e1 ? e2 : e1' and 'e1 ?: e2' -> 'e1 ? e1 : e2'