`SyntaxError` doesn't really make sense here, isn't it more of an unmet precondition? Could you add a more suitable Error subclass to `lib/errors.js`?