The GC itself is a bit complicated. The internals are mostly invisible, but not entirely.
Without language support for a global-GC switch (which is never going to happen) I don't think a "simple" Java-esque GC would happen.
With language support there's still a decently simple GC possible IMO.
Without language support at all, some things (eg interior mutability) become unweildy if you want to have GCs in them, and we have to create new abstractions for it. It's not too bad though.
(The GC isn't finished and we haven't tried using it much so I really don't know how well it will turn out in practice)
====
regarding general cognitive overhead, it's not too much once you're used to it. And one needs to get used to any language they pick up anyway before using it seriously (just that the curves are different).
I'd like to know how much the author's proposed gc takes the friction away.