If you're writing an interpreter for a language, would you rather:
A. Roll your own shitty conservative GC on top of malloc like Rob Pike and le Go Team.
B. Use reference counting and prohibit circular references in your language.
C. Use a built-in type-safe GC written by competent programmers who know how GC works.