Automated error handling would be great, for example: ```golang func create_context(): !SDL_Context { window := SDL_CreateWindow(...); if (!window) { throw NO_WINDOW; } context := SDL_GL_CreateContext(window); if (!context) { throw NO_CONTEXT; } ... } ```