make merge return Unit, explain mergeMisc in comment
rename merge -> mergeFrom, refactor out 'heads'