fix non-object incompatibilities and ensure state is really frozen