start on 'invariant' support for objects