code: func (a *AttributeDefinition) SetDefault(def interface{}) {
  	switch actual := def.(type) {
  	case HashVal:
  		a.DefaultValue = actual.ToMap()
  	case ArrayVal:
  		a.DefaultValue = actual.ToSlice()
  	default:
  		a.DefaultValue = actual
  	}
  }
docs: // SetDefault sets the default for the attribute. It also converts HashVal
  // and ArrayVal to map and slice respectively.