The common merge code merely needs to offer the abstraction of routines