[[!comment format=mdwn username="joey" subject="""comment 3""" date="2015-11-12T16:05:44Z" content=""" Ok, what's going on is that the combination of a RevertableProperty and a Property with requires has changed from being a RevertableProperty before to a Property now. (Because it can't all be reverted.) Since your code has `schroot :: RevertableProperty HasInfo` ghc complains that the type it infers doesn't match. Changing that to `Property HasInfo` will clear up the type error. Unfortunate that the error message is complicated in this case by the use of CInfo and CombinedType. If you notice that `CInfo HasInfo NoInfo = HasInfo` and that `CombinedType (RevertableProperty HasInfo) (Property NoInfo) = Property HasInfo`, a better error message would be: Couldn't match type ‘Property HasInfo' with ‘RevertableProperty HasInfo’ Expected type: RevertableProperty HasInfo Actual type: Property HasInfo """]]