Resume keys come in three flavors:
return
Produced upon a call invocation.
fault
Produced upon an invocation of a segment keeper.
restart
Produced upon an invocation of a meter keeper.
They are described in more detail here.

Resume keys exist only to waiting domains and then only one flavor exists at a time since resume keys to a particular domain all expire when any of them are used.

It seems to me now that it would have been better to assign the distinction to the domain rather than the key. There would be one flavor of resume key but three substates of a waiting domain:

Receptive
Awaiting a response message after having called a gate key. This situation is due to a key invocation in the program. This corresponds to the return key.
Vulnerable
Awaiting the outcome of a memory fault. Receptive of a fault but not a message. This situation is due to a memory reference by the program. This corresponds to the fault resume key.
Impervious
Waiting for a meter keeper to allow resumption. This situation is due merely to the program running. This corresponds to a restart key.
Don’t take the sub-state names too seriously.

I think that this change is entirely invisible. I think that the documentation and implementation are independent issues. I think that both would improve with the change.