can-map.js
function (prop) {
			if (typeof this.constructor.prototype[prop] === "function") {
				return canCompute(this[prop], this);
			} else {
				var reads = ObserveReader.reads(prop);
				var last = reads.length - 1;

				return canCompute(function (newVal) {
					if (arguments.length) {
						ObserveReader.write(this, reads[last].key, newVal, {});
					} else {
						return ObserveReader.get(this, prop);
					}
				}, this);
			}
		}
function (prop) {
			if (typeof this.constructor.prototype[prop] === "function") {
				return canCompute(this[prop], this);
			} else {
				var reads = ObserveReader.reads(prop);
				var last = reads.length - 1;

				return canCompute(function (newVal) {
					if (arguments.length) {
						ObserveReader.write(this, reads[last].key, newVal, {});
					} else {
						return ObserveReader.get(this, prop);
					}
				}, this);
			}
		}
function ( prop ) { if ( typeof this . constructor . prototype [ prop ] === "function" ) { return canCompute ( this [ prop ] , this ) ; } else { var reads = ObserveReader . reads ( prop ) ; var last = reads . length - 1 ; return canCompute ( function ( newVal ) { if ( arguments . length ) { ObserveReader . write ( this , reads [ last ] . key , newVal , { } ) ; } else { return ObserveReader . get ( this , prop ) ; } } , this ) ; } }
### compute Creates a compute that represents a value on this map. If the property is a function on the prototype, a "function" compute wil be created. Otherwise, a compute will be created that reads the observable attributes
### compute Creates a compute that represents a value on this map . If the property is a function on the prototype a function compute wil be created . Otherwise a compute will be created that reads the observable attributes