typed.go
func (t Typed) FloatIf(key string) (float64, bool) {
	value, exists := t[key]
	if exists == false {
		return 0, false
	}
	switch t := value.(type) {
	case float64:
		return t, true
	case string:
		f, err := strconv.ParseFloat(t, 10)
		return f, err == nil
	}
	return 0, false
}
func (t Typed) FloatIf(key string) (float64, bool) {
	value, exists := t[key]
	if exists == false {
		return 0, false
	}
	switch t := value.(type) {
	case float64:
		return t, true
	case string:
		f, err := strconv.ParseFloat(t, 10)
		return f, err == nil
	}
	return 0, false
}
// Returns an float at the key and whether
// or not the key existed and the value was an float