As GR is maturing, we get more support for complex blocks with
input/output relationships. The option to ‘produce’ inside the ::work
function is a major step in this direction. Consider a block with two
outputs: one at 1:1 rate, and one at N:1 rate. It may be useful to
set_relative_rate to take in a input/output port. Of course, the
scheduler would have to do something with the new information.