'Vector(vector) returns a new vector updated with values from the given vector.
No new features are added. For example: Vector({1:1, 2:2})({1:0, 3:3}) => {1:0, 2:2}.'

def __call__(self, vector={}):

    if isinstance(vector, (Document, Model)):
        vector = vector.vector
    v = self.copy()
    s = dict.__setitem__
    for (f, w) in vector.items():
        if (f in v):
            s(v, f, w)
    return v
