Just assert?  This fprintf() + abort() style is kind of weird.  (I know e.g. NODE_UNWRAP() does the same thing.  Also kind of weird IMO.)