docs: function(value, prop) {
                      // If we are getting an object.
                      if (!(value instanceof can.Map) && can.Map.helpers.canMakeObserve(value)) {
  
                          var cached = getMapFromObject(value);
                          if (cached) {
                              return cached;
                          }
                          if (can.isArray(value)) {
                              var List = can.List;
                              return new List(value);
                          } else {
                              var Map = this.constructor.Map || can.Map;
                              return new Map(value);
                          }
                      }
                      return value;
                  }