code: function(obj){
  		if(Array.isArray(obj)) {
  			return true;
  		}
  		if(obj instanceof Array) {
  			return true;
  		}
  		if( obj == null ) {
  			return false;
  		}
  		var value = obj[canSymbol.for("can.isMoreListLikeThanMapLike")];
  		if(value !== undefined) {
  			return value;
  		}
  		var isListLike = this.isListLike(obj),
  			isMapLike = this.isMapLike(obj);
  		if(isListLike && !isMapLike) {
  			return true;
  		} else if(!isListLike && isMapLike) {
  			return false;
  		}
  	}
docs: @function can-reflect.isMoreListLikeThanMapLike isMoreListLikeThanMapLike
  @parent can-reflect/type
  
  @description Test if a value should be treated as a list instead of a map.
  
  @signature `isMoreListLikeThanMapLike(obj)`
  
  Return  `true` if `obj` is an Array, declares itself to be more ListLike with
  `@@@@can.isMoreListLikeThanMapLike`, or self-reports as ListLike but not as MapLike; `false` otherwise.
  
  ```js
  canReflect.isMoreListLikeThanMapLike([]); // -> true
  canReflect.isMoreListLikeThanMapLike(null); // -> false
  canReflect.isMoreListLikeThanMapLike({}); // -> false
  canReflect.isMoreListLikeThanMapLike(new DefineList()); // -> true
  canReflect.isMoreListLikeThanMapLike(new DefineMap()); // -> false
  canReflect.isMoreListLikeThanMapLike(function() {}); // -> false
  ```
  
  @param  {Object}  obj the object to test for ListLike against MapLike traits.
  @return {Boolean}