It would be helpful to be able to distinguish between a function being invoked by run() and not by run(). Zorro does different things intrabar vs. on a per-bar basis. One example is that pool trades occur at the end of run() but instantly at tick().

Suppose a user can call "is(CALLBACK)". This will return true if it is a tick() or callback() or TMF, and false if directly from run().