Implementing weak references sounds like a feature that will make the language's source code much more complex than the simplicity emphasized in your goals.
nim has some sort of automatic cycle detection. You might want to look into how they do it. It doesn't hurt to check it out.