calling assign_dot/3 here instead of assign_dot/2 skips the vclock:valid_entry check, is this intentional?