extend has to accept array and arguments form that makes sure all property keys match deep, bump version