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.