An arbitrary ELEMENT takes in what the ELEMEN Ahead just passed, while they too pass back what they just finished, as if all lined up in a Pipeline.
For Computing, its a set of DATA processing elements, & for Software it's also processing elements, called processes, threads, coroutines, functions. But the info is very similar: bits, bytes, & records.
Pipelines can also be in parallel, and/or have buffering between "meals"