module.exports =
  ###
  @function.
  @signature: clone(obj)
  @return a shallow clone of the object.
  ###
  clone: (obj)->
    copy = {}
    for prop of obj
      copy[prop] = obj[prop]
    copy
  ###
  @function.
  @signature: extend(obj)
  @description: shallow-copies the
    properties from rest... into obj
  ###
  extend: (obj, rest...)->
    for source in rest
      obj[key] = val for key, val of source
    obj