First sketch of flexible merge

Hooked up to the Graph DSL, but not hooked up to FanIn yet. 
Would these `val`s better be `def`s?