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