private vals for special case in Product
Collect addends returning TypedPipes, not wrapping in matrices