When this interface is used, a call to inferReturnTypeComponents()
is generated on creation and verification of the op.
A few changes were required in inferReturnTypeComponents():
- Emit error when it fails. The verifier calls this method now, and it is preferable to indicate what caused the failure.
- Fix the inferred return shapes so they have a type too.