code: func scan(s string) <-chan match {
  	ch := make(chan match)
  	go func() {
  		depth := 0
  		opener := 0
  		for index, char := range s {
  			switch char {
  			case '(':
  				if depth == 0 {
  					opener = index
  				}
  				depth++
  			case ')':
  				depth--
  				if depth == 0 {
  					ch <- match{
  						openPos:  opener,
  						closePos: index + 1,
  					}
  				}
  			}
  
  		}
  		close(ch)
  	}()
  	return ch
  }
docs: // Scan a string for parenthesis