piping works as long as ports are file-stream-ports. String port still fails. fork/pipe needs total rewrite.