code: func (ctx *Context) String() string {
  	if ctx == nil {
  		return "(nil context)"
  	}
  
  	var s []string
  	if ctx.Peer.Component != seesaw.SCNone {
  		s = append(s, fmt.Sprintf("peer %s", ctx.Peer.Identity))
  	}
  	if ctx.Proxy.Component != seesaw.SCNone {
  		s = append(s, fmt.Sprintf("via %s", ctx.Proxy.Identity))
  	}
  	s = append(s, fmt.Sprintf("as %s (%v auth)", ctx.User, ctx.AuthType))
  	return strings.Join(s, " ")
  }
docs: // String returns the string representation of a context.