code: func UnmarshalTerminalParams(s string) (*TerminalParams, error) {
  	parts := strings.Split(s, ":")
  	if len(parts) != 2 {
  		return nil, trace.BadParameter("failed to unmarshal: too many parts")
  	}
  
  	w, err := strconv.Atoi(parts[0])
  	if err != nil {
  		return nil, trace.Wrap(err)
  	}
  	h, err := strconv.Atoi(parts[1])
  	if err != nil {
  		return nil, trace.Wrap(err)
  	}
  
  	return &TerminalParams{
  		W: w,
  		H: h,
  	}, nil
  }
docs: // UnmarshalTerminalParams takes a serialized string that contains the
  // terminal parameters and returns a *TerminalParams.