func (t Typed) ObjectOr(key string, d map[string]interface{}) Typed {
	if value, exists := t.ObjectIf(key); exists {
		return value
	}
	return Typed(d)
}
func (t Typed) ObjectOr(key string, d map[string]interface{}) Typed {
	if value, exists := t.ObjectIf(key); exists {
		return value
	}
	return Typed(d)
}
// Returns a Typed helper at the key or the specified
// default if the key doesn't exist or if the key isn't
// a map[string]interface{}