Invariant preservation now checked for constructors