code: func toFloat(v reflect.Value) (float64, error) {
  	switch v.Kind() {
  	case reflect.Float32, reflect.Float64:
  		return v.Float(), nil
  	case reflect.Interface:
  		return toFloat(v.Elem())
  	}
  	return -1, errors.New("unable to convert value to float")
  }
docs: // toFloat returns the float value if possible.