Do I have to write @impl true before each function?

Because those are not multiple versions of the same function, those are clauses of a single function.

(I don’t want to nit-pick here, it’s just that it makes more sense once you know it).