Add a Sink type, fix some variance issues
Fix some issues found in test
address Kevin's comments
Merge pull request #445 from twitter/typedpipe-trait

Merge #445