allowed reversions can handle complex histories