code: function wrapInList(
      opts: Options,
      change: Change,
      type?: string,
      data?: Object | Data
  ): Change {
      const selectedBlocks = getHighestSelectedBlocks(change.value);
      type = type || opts.types[0];
  
      // Wrap in container
      change.wrapBlock(
          {
              type,
              data: Data.create(data)
          },
          { normalize: false }
      );
  
      // Wrap in list items
      selectedBlocks.forEach(node => {
          if (isList(opts, node)) {
              // Merge its items with the created list
              node.nodes.forEach(({ key }) =>
                  change.unwrapNodeByKey(key, { normalize: false })
              );
          } else {
              change.wrapBlockByKey(node.key, opts.typeItem, {
                  normalize: false
              });
          }
      });
  
      return change.normalize();
  }
docs: Wrap the blocks in the current selection in a new list. Selected
  lists are merged together.