code: func keyFloat(v reflect.Value) (f float64, ok bool) {
  	switch v.Kind() {
  	case reflect.Int, reflect.Int8, reflect.Int16, reflect.Int32, reflect.Int64:
  		return float64(v.Int()), true
  	case reflect.Float32, reflect.Float64:
  		return v.Float(), true
  	case reflect.Uint, reflect.Uint8, reflect.Uint16, reflect.Uint32, reflect.Uint64, reflect.Uintptr:
  		return float64(v.Uint()), true
  	case reflect.Bool:
  		if v.Bool() {
  			return 1, true
  		}
  		return 0, true
  	}
  	return 0, false
  }
docs: // keyFloat returns a float value for v if it is a number/bool
  // and whether it is a number/bool or not.