This is something that I haven't fully thought out yet, but which might be useful in certain cases, such as when io is shared between elements (so when no new substreams are created). There are mechanisms in Python to reduce I/O and prevent unnecessary copying of data by using buffers and memoryviews. An article explaining it can be found here:
https://eli.thegreenplace.net/2011/11/28/less-copies-in-python-with-the-buffer-protocol-and-memoryviews