     type = $$.toType selector
 
     if type is "array"
-      #@TODO: If selector it's array, fails :/
       domain = _compact selector
 
     else if type is "string" and IS_HTML_FRAGMENT.test(selector)

    if elements.nodeType then [elements] else Array::slice.call(elements)



  # ---------------------------------------------------------------------------
  # Static Methods
  # ---------------------------------------------------------------------------
  $$.extend = (target) ->
    Array::slice.call(arguments, 1).forEach (source) ->
    target[key] = source[key] for key of source
    target


  $$.toType = (obj) ->
    OBJECT_PROTOTYPE.toString.call(obj).match(/\s([a-z|A-Z]+)/)[1].toLowerCase()


  $$.map = (elements, callback) ->
    values = []

  _flatten = (array) ->
    if array.length > 0 then EMPTY_ARRAY.concat.apply(EMPTY_ARRAY, array) else array


  # ---------------------------------------------------------------------------
  # Exports
  # ---------------------------------------------------------------------------
  _instance:: = $$.fn = {}

  $$.fn.each = (callback) ->
    @forEach (element, index) -> callback.call element, index, element
