Each step keeps the bit it produced plus a smaller instance of the same problem. The base case [] is not confusable with a partial result.
On its actual image — bit lists with no trailing zero — to_binary is a bijection. from_binary on a list outside that image returns a number with no matching to_binary preimage.
3 Non-invertible case: summation
total has the same shape: take the first item, combine with the recursive result on the rest, stop at []. The combining operator is addition.
Each step keeps only the running sum. Position and identity of the summands are discarded. That step is a lossy accumulator: many-to-one.
Consequences:
Distinct inputs share an output, so total is not injective.
No inverse exists.
Any recursive function whose combining step is many-to-one is in the same class.
4 Speculation: memory as an accumulator
This section is not a result about minds.
If perception and memory fold each moment into a running gist and discard order and detail, they have the same shape as total. A non-injective encoding is irreversible: later reconstruction cannot recover what the combining step did not keep.