from is an Rle object:
  as(from, "IRanges"): Creates an IRanges instance
      from a logical Rle. Note that this instance is guaranteed to be normal.
    as(from, "NormalIRanges"): Creates a NormalIRanges instance
      from a logical Rle.
    x is an Rle object: split(x, f, drop=FALSE):
      Splits x according to f to create a
      CompressedRleList object.
      If f is a list-like object then drop is ignored
      and f is treated as if it was
      rep(seq_len(length(f)), sapply(f, length)),
      so the returned object has the same shape as f (it also
      receives the names of f).
      Otherwise, if f is not a list-like object, empty list
      elements are removed from the returned object if drop is
      TRUE.
    findRange(x, vec):
      Returns an IRanges object representing the ranges in Rle vec
      that are referenced by the indices in the integer vector x.
    splitRanges(x):
      Returns a CompressedIRangesList object that contains the
      ranges for each of the unique run values.