This includes the GenericCheck helper which we'll use everywhere, and the standard single invariant which we use throughout.