class Plumb::HashMap::FilteredHashMap

def call(result)

def call(result)
  result.invalid(errors: 'must be a Hash') unless result.value.is_a?(::Hash)
  hash = result.value.each.with_object({}) do |(key, value), memo|
    key_r = @key_type.resolve(key)
    value_r = @value_type.resolve(value)
    memo[key_r.value] = value_r.value if key_r.valid? && value_r.valid?
  end
  result.valid(hash)
end