code: func (v *Validate) Struct(s interface{}) *StructErrors {
  
  	return v.structRecursive(s, s, s)
  }
docs: // Struct validates a struct, even it's nested structs, and returns a struct containing the errors
  // NOTE: Nested Arrays, or Maps of structs do not get validated only the Array or Map itself; the reason is that there is no good
  // way to represent or report which struct within the array has the error, besides can validate the struct prior to adding it to
  // the Array or Map.