code: function mixClone()
  {
    // keep original prototype for the last argument
    var args   = Array.prototype.slice.call(arguments)
      , i      = args.length
      , output = new Function()
      , target
      ;
  
    while (i-- > 0)
    {
      // "clone" function
      target = copyFunction(args[i]);
  
      // add `output` as a prototype and __proto__
      // and promote `target` to be a prototype
      // for the next argument
      output = addSuper(target, output);
    }
  
    return output;
  }
docs: Creates prototype chain from the provided functions,
  by (shallow) copying prototypes from each function
  onto respective elements in the chain
  
  @param   {...function} from - object(s) to mix in with
  @returns {function} - new object with mixed in properties