I pulled one of classes from my project that does not depend on anything external and fed it to their demo site. It threw up bunch of errors complaining that RuntimeException is undefined. It seems it doesn't understand built-ins unless you prefix them with \, even though they are imported properly with use statement. This is pretty core issue to lack support for. Calling it "beta" is actually giving it a lock of slack, I'd say it's closer to being proof of concept.

Mago author here.

The online playground is running a very old version (~0.20.0 from months ago, which did not even have a static analyzer) and gives a poor impression of the current tool. That's on me to fix or take down.

The issue you saw with built-in classes like `RuntimeException` was absolutely a bug in those early alpha versions, but it has been fixed for a long time now. The analyzer has matured a lot since then.

The current beta is stable enough to be the sole static analysis tool for a couple of extremely well-typed projects:

- https://github.com/azjezz/psl/ - https://github.com/carthage-software/cel-php

I'd definitely encourage trying the latest release locally to get a real feel for it. Thanks again for the write-up!