Abstraction over UNIX pipe for the specific case here with
stdin/stdout redirection between processes. The typical flow
is that a Pipe is created, the program is forked and
that one process marks it’s part of the Pipe as READ
while the other process marks it’s part of the Pipe
as WRITE.