expose preconditions and deepFreeze