Ops with a single result currently get a getResult() method +
conversion operator to Value through the OneResult trait. By moving
these to the OneTypedResult trait instead, we can use TypedValue as
the return type to get more specfic types.
When the result type is unknown ODS adds the
OneTypedResult<mlir::Type> trait, in which case there is no change in
the resulting API.