anchor.diff:        })
   
     @function up.observe
  -  @param {string|Element|Array<Element>|jQuery} selectorOrElement
  +  @param {string|Element|Array<Element>|jQuery} elements
       The form fields that will be observed.
   
       You can pass one or more fields, a `<form>` or any container that contains form fields.
       The callback will be run if any of the given fields change.
  +  @param {boolean} [options.batch=false]
  +    If set to `true`, the `onChange` callback will receive multiple
  +    detected changes in a single diff object as its argument.
     @param {number} [options.delay=up.form.config.observeDelay]
       The number of miliseconds to wait before executing the callback
       after the input value changes. Use this to limit how often the callback
  
positive.code:     A destructor function that removes the observe watch when called.
    @stable
    ###
    observe = (selectorOrElement, args...) ->
      elements = e.list(selectorOrElement)
      fields = u.flatMap(elements, findFields)
      callback = u.extractCallback(args) ? observeCallbackFromElement(elements[0]) ? up.fail('up.observe: No change callback given')
      options = u.extractOptions(args)
  
negative.code: 
    This is useful for observing text fields while the user is typing.
  
    The unobtrusive variant of this is the [`[up-observe]`](/up-observe) attribute.
  
    \#\#\# Example
  
  