index.js
function cobble(){
  var args = [], last;

  for(var i = 0; i < arguments.length; ++i) {
    last = arguments[i];
    if( isArray(last) ) args = args.concat(last)
    else args[args.length] = last
  }

  return  cobble.into({}, args)
}
function cobble(){
  var args = [], last;

  for(var i = 0; i < arguments.length; ++i) {
    last = arguments[i];
    if( isArray(last) ) args = args.concat(last)
    else args[args.length] = last
  }

  return  cobble.into({}, args)
}
function cobble ( ) { var args = [ ] , last ; for ( var i = 0 ; i < arguments . length ; ++ i ) { last = arguments [ i ] ; if ( isArray ( last ) ) args = args . concat ( last ) else args [ args . length ] = last } return cobble . into ( { } , args ) }
compose objects into a new object, leaving the original objects untouched
@param {...object} an object to be composed.
@return {object}
compose objects into a new object leaving the original objects untouched