It looks like the `transport` implementations call `to_op()` as well.  I'm assuming this call is just for error checking.  We don't pass the operation on down because we already have a pile of params?