Cancel while workflow.Sleep()

TLDR; can a sleep be canceled via a signal? if so, how?


I’ve read that only activities with heartbeats enabled can be canceled which is fine, but I’m wondering if a workflow that is sleeping can be canceled as well?

I’d like to react to a cancel signal, even if the workflow is sleeping itself and then schedule some cleanup. Is there an example of this anywhere to be found?
I can not find documentation for cancel which is NOT related to activities. Sleep itself is not very verbose documented either (probably because the functionality is clear).

Thank you

The sleep is canceled when the context passed to the sleep is canceled.