typed.go
func (t Typed) MapIf(key string) (map[string]interface{}, bool) {
	value, exists := t[key]
	if exists == false {
		return nil, false
	}
	if n, ok := value.(map[string]interface{}); ok {
		return n, true
	}
	return nil, false
}
func (t Typed) MapIf(key string) (map[string]interface{}, bool) {
	value, exists := t[key]
	if exists == false {
		return nil, false
	}
	if n, ok := value.(map[string]interface{}); ok {
		return n, true
	}
	return nil, false
}
// Returns a map[string]interface at the key and whether
// or not the key existed and the value was an map[string]interface{}