Env = Map<String, String>
Args = [String]
UnixCommand = (Env, Args, ByteStream) -> (Integer, ByteStream, ByteStream)
Unix command compose pretty darn well, but it's a really weird API. Many of these inputs and outputs are less visible to newcomers too.