anchor.diff:  
                 (tick 100)
                 (is (= 2 @a))))
  -```
  +----
   
   In the above scripted test the `provided` (when-mocking with a label) is used to mock out `js/setTimeout`. By
   wrapping that provided in a `with-timeline` we gain the ability to use the `async` and `tick` macros (which must be
  
positive.code: 
  The main testing macros are `specification`, `behavior`, and `assertions`:
  
  ```
  (specification "A Thing"
     (behavior "does something"
        (assertions
           form => expected-form
           form2 => expected-form2
  
           "optional sub behavior clause"
           form3 => expected-form3)))
  ```
  
  The specification macro just outputs a `(clojure|cljs).test/deftest`, so you are free to use `is`, `are`, `do-report`, etc.
  
  The `behavior` macro outputs additional events for the renderer to make an outline. As a note, `component` is just a macro alias of `behavior` it just can read better if what you are describing is not a behavior but a *component* of some greater thing.
  
  === Assertions
  
  
negative.code: 
  Note that you can schedule multiple things, and still return a value from the mock!
  
  [source]
  ----
  (:require
    [untangled-spec.core :refer [provided with-timeline async]])
  
  (with-timeline
    (when-mocking
       (f a) => (do (async 200 (g)) (async 300 (h)) true)))
  ----
  
  the above indicates that when `f` is called it will schedule `(g)` to run 200ms from \"now\" and `(h)` to run
  300ms from \"now\". Then `f` will return `true`.
  