Maybe there should be "related constraints", e.g. length + pointer. If so, they probably better be assigned at directly adjacent statements (without and possibility of control transfer inbetween): obj.length = ... obj.list = ...