docs: func (s *Shape) GoCode() string {
  	w := &bytes.Buffer{}
  
  	switch {
  	case s.EventStreamAPI != nil:
  		if err := renderEventStreamAPIShape(w, s); err != nil {
  			panic(
  				fmt.Sprintf(
  					"failed to generate eventstream API shape, %s, %v",
  					s.ShapeName, err),
  			)
  		}
  	case s.Type == "structure":
  		if err := structShapeTmpl.Execute(w, s); err != nil {
  			panic(
  				fmt.Sprintf(
  					"Failed to generate struct shape %s, %v",
  					s.ShapeName, err),
  			)
  		}
  	case s.IsEnum():
  		if err := enumShapeTmpl.Execute(w, s); err != nil {
  			panic(
  				fmt.Sprintf(
  					"Failed to generate enum shape %s, %v",
  					s.ShapeName, err),
  			)
  		}
  	default:
  		panic(fmt.Sprintln("Cannot generate toplevel shape for", s.Type))
  	}
  
  	return w.String()
  }