typed.go
func (t Typed) StringFloat(key string) map[string]float64 {
	raw, ok := t.getmap(key)
	if ok == false {
		return nil
	}
	m := make(map[string]float64, len(raw))
	for k, value := range raw {
		switch t := value.(type) {
		case float64:
			m[k] = t
		case string:
			f, err := strconv.ParseFloat(t, 10)
			if err != nil {
				return nil
			}
			m[k] = f
		default:
			return nil
		}
	}
	return m
}
func (t Typed) StringFloat(key string) map[string]float64 {
	raw, ok := t.getmap(key)
	if ok == false {
		return nil
	}
	m := make(map[string]float64, len(raw))
	for k, value := range raw {
		switch t := value.(type) {
		case float64:
			m[k] = t
		case string:
			f, err := strconv.ParseFloat(t, 10)
			if err != nil {
				return nil
			}
			m[k] = f
		default:
			return nil
		}
	}
	return m
}
// Returns an map[string]float64