How would you accumulate errors?

you can use

for {key, validate_fun} <- validation, reduce: [] do
  acc ->
   ....
end