Improve error output
Reduce compiler warnings
Don't auto-coerce Qnil to NULL, won't work for numerical values