(fn-yields? f)
  f: a fn
  returns a bool

Returns #t if a function might yield.

The presence or absence of at least one yield form is what differentiates a coroutine function from a normal function.

When a coroutine function is invoked, it returns a newborn coroutine paused at the start of the function body, rather than evaluating the function body immediately. That coroutine can then be executed using coro-run.