anchor.diff:                      th value
                       th.indicator
                   tbody
  -                    - Object.keys(obj).forEach(function(prop){
  +                    - keys.forEach(function(prop){
                           - var val = obj[prop]
                           - if (!val || val.EDT_hidden === undefined)
                               tr
                                   td !{prop}
  -                                td(colspan=2): mixin print_val(val, depth)
  +                                td(colspan=2): mixin print_val(val, depth, options)
                       - })
           - else
  -            span.exceeded (Depth exceeded; settings.depth: #{EDTsettings.depth})+            span.exceeded (Depth exceeded; max depth: #{options.depth})
  
positive.code: mixin print_val(val, depth)
      - if (val === undefined)
          span.undefined undefined
      - if (val === null)
  
negative.code:             - else
                  span.object { }
          - else
              mixin print_obj(val, depth + 1, options)
      - else if (typeof val === 'function')
          a.showFn args: #{val.length}, fn name: #{val.name}
          pre.fn !{val}
          - if (Object.keys(val).length)
              mixin print_obj(val, depth + 1, options)
      - else
          - _type = typeof val;
          span(class="#{_type}") #{val}
  
  mixin print_obj(obj, depth, options)
      - depth = depth || 0;
      - options = options || {};
      - options.depth = options.depth || EDTsettings.depth;
      - if (!obj.EDT_hidden)
          - if (depth < options.depth)
              - var keys = Object.keys(obj);
              - if (options.sort)
                  - keys = keys.sort();
              table.object
                  thead: tr.collapse
                      - if (obj instanceof Array)
  