I would like to use racket lisp engines which allow execution of a procedure that can be interrupted by a timer timeout. I'm not sure how to construct a procedure that engine will accept because I can't find examples online. At the engine documentation it lists input proc having the following contract:
(engine proc) → engine?
proc : ((any/c . -> . void?) . -> . any/c)
I'm just learning typed racket annotation semantics and this is above my head at the moment. Can someone help provide some concrete examples of valid procedures that can be use in a racket engine?