 # a terminal.
 #
 
+ELEMENTS = []
+ELEMENTS.push Element if Element?
+ELEMENTS.push HTMLElement if HTMLElement?
+ELEMENTS.push XULElement if XULElement?
+
 inspect = (object, showHidden=off, depth=2, opts={}) ->
   opts.color    ?= off
   opts.sanitize ?= type.isTainted object

    inspectArray object, showHidden, depth, opts
  else if classForInspect is RegExp or type.isRegExp object
    inspectRegExp object, opts
  else if classForInspect in [Element?, HTMLElement?, XULElement?] or (Element? and type.is object, Element)
    inspectElement object, opts
  else if classForInspect is Number or typeof object is 'number'
    inspectNumber object, opts

        "#{k}: #{inspect content[k], showHidden, depth-1, opts}"

    contentString = properties.join ', '
  else if hasContentForInspect and not content?
    # explicit alternate content that is null/undefined gets an empty string
    contentString = ''
  else
    # otherwise do a full inspect call on it
    contentString = inspect content, showHidden, depth-1, opts
