code: func WrapBytes(b []byte, lim int) []byte {
  	words := bytes.Split(bytes.Replace(bytes.TrimSpace(b), nl, sp, -1), sp)
  	var lines [][]byte
  	for _, line := range WrapWords(words, 1, lim, defaultPenalty) {
  		lines = append(lines, bytes.Join(line, sp))
  	}
  	return bytes.Join(lines, nl)
  }
docs: // WrapBytes wraps b into a paragraph of lines of length lim, with minimal
  // raggedness.