code: function makeCursor(rootData, keyPath, onChange, value) {
    if (arguments.length < 4) {
      value = rootData.getIn(keyPath);
    }
    var size = value && value.size;
    var CursorClass = Iterable.isIndexed(value) ? IndexedCursor : KeyedCursor;
    var cursor = new CursorClass(rootData, keyPath, onChange, size);
  
    if (value instanceof Record) {
      defineRecordProperties(cursor, value);
    }
  
    return cursor;
  }
docs: Sentinel value