code: func Compile(sel string) (Selector, error) {
  	p := &parser{s: sel}
  	compiled, err := p.parseSelectorGroup()
  	if err != nil {
  		return nil, err
  	}
  
  	if p.i < len(sel) {
  		return nil, fmt.Errorf("parsing %q: %d bytes left over", sel, len(sel)-p.i)
  	}
  
  	return compiled, nil
  }
docs: // Compile parses a selector and returns, if successful, a Selector object
  // that can be used to match against html.Node objects.