1. lack of native GC, you had to roll your own by providing a runtime.
2. lack of tail-call elimination in V1 of the spec. This essentially forces you to trampoline everything.
But lisp doesn't need TCO.
IMHO a Common Lisp without TCO is not a serious tool because I cannot write tail-recursive code with it.
The CL spec doesn't guarantee tail-call elimination, and most CL implementations don't guarantee it either (it could be on or off depending on the current optimization level). So most people don't bother relying on it.
[0]: https://webassemblyman.com/wat_webassembly_text_format.html
> Implementing Lisp onto WebAssembly is so obvious that you may wonder why somebody did not have this idea long ago.
I did find this on the Femto GitHub and got a chuckle. Yes, dear author, that is exactly the piece of information I want explained. Too funny.
It’s an S expression language though with some similarities to LISP