code: func (t ListType) Validate() error {
  	if t.Kind != KindList {
  		return errs.Errorf(`list type cannot have a base type "%s" but needs "%s"`, t.Kind, KindList)
  	}
  	if !t.ComponentType.Kind.IsSimpleType() {
  		return errs.Errorf(`list type must have a simple component type and not "%s"`, t.Kind)
  	}
  	_, err := t.SetDefaultValue(t.DefaultValue)
  	if err != nil {
  		return errs.Wrapf(err, "failed to validate default value for kind %s: %+v (%[1]T)", t.Kind, t.DefaultValue)
  	}
  	return nil
  }
docs: // Validate checks that the type of the list is "list", that the component type
  // iteself a simple tpye (e.g. not a list or an enum) and that the default value
  // matches the Kind of the ComponentType.