code: func mergeSequences(seq *sequence) {
  	if seq != nil {
  		// Merge all what possible from seq
  		for seq.next != nil && seq.block == seq.next.block {
  			seq.count += seq.next.count
  			seq.next = seq.next.next
  		}
  		// Move to next
  		mergeSequences(seq.next)
  	}
  }
docs: // Given a pointer to a sequence, it checks if it can be merged with any following sequences
  // It stops when no more merging is possible.
  // TODO: Optimization: only attempt merge from start to end sequence, no need to scan till the end of the list