chiark / gitweb /
merge ends conditions change order of precondition to put M in middle, for clarity