I think you can do "real" ownership in ATS; or check ownership with a static analysis tool in many languages, including C; and you should be able make a hacky version as a library that dies at runtime in any language with parametric polymorphism and modules. "Modern C++" too, ish.
Which Lisps are you thinking of? CL and Scheme both allow having multiple copies of mutable objects.
Like one thing it already gets wrong is that you can send mutable pointers around without clear ownership.