anchor.diff:  
   === Scan
   
  -Allows combine all results of an observable sequence using a combining function
  -also called (reducing function). Returns a stream of each intermediate result
  -instead of:
  +Like `reduce` (see above), but returns a stream of each intermediate result
  +instead (similar to `reductions` in Clojure):
   
   [source, clojure]
   ----
  
positive.code: 
  === Creating a subject.
  
  You can create a subject instance using `subject` constructor function. There is an
  example of using subject for the both operations: push values and subscribe to it.
  
  [source, clojure]
  ----
  
negative.code:                        #(println "on-end:")))
  ----
  
  The return value of the `subscribe` function is a subscription object, that identifies
  the current subscription. It can be cancelled by executing `(rx/cancel! sub)`.
  
  
  === Consume values
  
  But in most circumstances you only want to consume values regardless of any error
  or termination. For this purposes there is the `on-value` function:
  
  [source, clojure]
  ----
  (def sub (rx/on-value sub #(println "val:" %)))
  ----
  
  Like with the `subscribe` function, the `on-value` function also returns a callable, that,
  when called, will dispose the created subscription.
  
  NOTE: take care, that calling any one of those helper functions creates a
  separated subscription and it can behave unexpectedly, if you are not aware whether you
  are using <<hot or cold observables, hot-vs-cold-observales>>.
  
  
  === Consume successful termination
  
  With the `on-end` function you can watch the successful termination of an observable
  sequence:
  
  [source, clojure]
  