```if (!new_top.is_null() && new_top != old_top)``` is always false since old_top is Null when init and Field == Null always return true. We add old_top.is_null() check first to avoid the problem and then issue more carefull discussion about Field == Null semantics.