For cipher stuff we only care about the top error but in serialisation the errors further down can definitely be interesting. Returning only the first one and still consuming the rest is kind of ugly and doesnt make the code using `consume_errors` much simpler.