can-map.js
function (props, remove) {
			if(this._legacyAttrBehavior) {
				return this.__setAttrs(props, remove);
			}
			if(remove === true || remove === "true") {
				this[canSymbol.for("can.updateDeep")](props);
			} else {
				this[canSymbol.for("can.assignDeep")](props);
			}
			return this;
		}
function (props, remove) {
			if(this._legacyAttrBehavior) {
				return this.__setAttrs(props, remove);
			}
			if(remove === true || remove === "true") {
				this[canSymbol.for("can.updateDeep")](props);
			} else {
				this[canSymbol.for("can.assignDeep")](props);
			}
			return this;
		}
### _setAttrs Sets multiple properties on this object at once. First, goes through all current properties and either merges or removes old properties. Then it goes through the remaining ones to be added and sets those properties.