See 'Language extensions/Effect handlers' section in the manual.
'_t = ..
The type of effects.
exception Unhandled :
Unhandled e is raised when effect
e is performed and there is no
handler for it.
Exception raised when a continuation is continued or discontinued more than once.
val perform :
'a t -> 'a
perform e performs an effect
Unhandledif there is no handler for