combineOrIdentity

Constructs an operation that combines the operands of equal type if they are both present. If either operand is not present, the other is passed through unchanged.

This means that both operands and the output must all be the same type.