A program emits one type, and the other program accepts another.
Something will be needed to transform one type into another. Imagine doing that on the command line.