[Haskell-cafe] Looking for advice on modelling a 3-way merge (with varying strategies)