code: func (ps *printState) printOneInner(save *[]AST) {
  	if len(ps.inner) == 0 {
  		panic("printOneInner called with no inner types")
  	}
  	ln := len(ps.inner)
  	a := ps.inner[ln-1]
  	ps.inner = ps.inner[:ln-1]
  
  	if save != nil {
  		if _, ok := a.(*MethodWithQualifiers); ok {
  			*save = append(*save, a)
  			return
  		}
  	}
  
  	if ip, ok := a.(innerPrinter); ok {
  		ip.printInner(ps)
  	} else {
  		ps.print(a)
  	}
  }
docs: // Print the most recent inner type.  If save is not nil, only print
  // prefixes.