code: func Ls(rw io.ReadWriter) ([]string, error) {
  	err := delimWriteBuffered(rw, []byte("ls"))
  	if err != nil {
  		return nil, err
  	}
  
  	n, err := binary.ReadUvarint(&byteReader{rw})
  	if err != nil {
  		return nil, err
  	}
  
  	var out []string
  	for i := uint64(0); i < n; i++ {
  		val, err := lpReadBuf(rw)
  		if err != nil {
  			return nil, err
  		}
  		out = append(out, string(val))
  	}
  
  	return out, nil
  }
docs: // Ls is a Multistream muxer command which returns the list of handler names
  // available on a muxer.