code: function (forward, rootNode, from) {
        return fromPosition(forward, rootNode, from).bind(function (to) {
          if (CaretUtils.isInSameBlock(from, to, rootNode) && shouldSkipPosition(forward, from, to)) {
            return fromPosition(forward, rootNode, to);
          } else {
            return Option.some(to);
          }
        });
      }
docs: Finds: <p>a|<b>b</b></p> -> <p>a<b>b|</b></p>