> so yes, "cat xyz" plays a source - and can be replaced with another source - without touching all other stuff.
This. I often have to read logs and being able to apply the same oneliner on older logs just by adding a "z" in front of "cat" to read .log.gz instead of .log files is extremely useful.
but that absolutely kills modularity / composability
so yes, "cat xyz" plays a source - and can be replaced with another source - without touching all other stuff.