    # 
    # @option responsible: Whether to mark the structure as `responsible` for the objects passed in.
    #---
-   # TODO: Make recursive. Don't know how that didn't happen in the first place.
    # TODO: Support functions, so this can replace µPaws' applyGlobals.
    @construct: (representation)->
       members = for key, value of representation

      
      return to
   
   toArray: (cb)-> @metadata.map (rel)-> (cb ? identity) rel?.to
   
   # This implements the core algorithm of the default jux-receiver; this algorithm is very
   # crucial to Paws' object system:
   # 

   # most *intended* purposes, this should work fine; but it departs slightly from the spec.
   # We'll see if we keep it that way.
   #---
   # TODO: `raw` option, to return the `Relation`s, instead of the wrapped `Thing`s
   find: (key)->
      key = new Label(key) unless key instanceof Thing
      results = @metadata.filter (rel)->
         rel?.to?.isPair?() and key.compare rel.to.at 1
      _.pluck(results.reverse(), 'to')
   
   toArray: (cb)-> @metadata.map (rel)-> (cb ? identity) rel?.to
   
   # TODO: Figure out whether pairs should be responsible for their children
   @pair: (key, value)->
