code: function (elm, afterDeletePosOpt) {
        return Options.liftN([Traverse.prevSibling(elm), Traverse.nextSibling(elm), afterDeletePosOpt], function (prev, next, afterDeletePos) {
          var offset, prevNode = prev.dom(), nextNode = next.dom();
  
          if (NodeType.isText(prevNode) && NodeType.isText(nextNode)) {
            offset = prevNode.data.length;
            prevNode.appendData(nextNode.data);
            Remove.remove(next);
            Remove.remove(elm);
            if (afterDeletePos.container() === nextNode) {
              return new CaretPosition(prevNode, offset);
            } else {
              return afterDeletePos;
            }
          } else {
            Remove.remove(elm);
            return afterDeletePos;
          }
        }).orThunk(function () {
          Remove.remove(elm);
          return afterDeletePosOpt;
        });
      }
docs: When deleting an element between two text nodes IE 11 doesn't automatically merge the adjacent text nodes