Some validation errors fixed, groundwork for generalisation in SimpleObject, revision comparison should work for everything that's implemented so far.