I'm building Blocks with multiple outputs and I think I found a few issues (see #25)
When more than one output, evaluate is called once per output. See the code below, the simplest case I could come up with. I would expect the print statements at the bottom to be all 0s. If implementing a block with more than one output Evaluate should be called only once per iteration and it should be the implementation's responsibility to compute all the outputs.
BTW, evaluate should return a list with Block.n_outputs elements, right now this is not enforced.
I'm building Blocks with multiple outputs and I think I found a few issues (see #25)