Thank you for the quick reply. I also tried type g = ref proc(i: int): g Run
which compiles, but is not assignable var x: g => 'Error: undeclared identifier g' Run A use case would be a simple state machine where the current state is encapsulated by the function. This function returns another state function or a null pointer. In C, it would be written like this void *(*g)(int i) Run but it would be better to have a type