code: function sub(seq, from, to) {
    var f = Array.isArray(seq) ? seq.slice : seq.substring
    return to == null ? f.call(seq, from) : f.call(seq, from, to)
  }
docs: *
  given a stream of words, map to a datastructure that maps a given length of chars
  to a next letter, with frequencies.
  
  useful for generating random test data.
  
  {
  abc: {
  d: 1
  '': 4 //< that means the end of the word.
  }
  
  }