So, explain to me how that is a function and not a special form?
I don't find this impossible. I have seen this in John Shutt's Kernel, for example. https://ftp.cs.wpi.edu/pub/techreports/pdf/05-07.pdf
But I'm just not seeing the mechanisms I expect for such a language.
You can evaluate lists with `do`, or through functions which in turn use `do` on their arguments.
So, explain to me how that is a function and not a special form?