work around util.isError() not working but implementing insepct() directly
Add error short-circuiters...
a few more tweaks, almost ready to go on this one