code: function clone (obj) {
    if(!isObject(obj, true)) return obj
    var _obj
    _obj = Array.isArray(obj) ? [] : {}
    for(var k in obj) _obj[k] = clone(obj[k])
    return _obj
  }
docs: note, cyclic objects are not supported. will cause an stack overflow.