

I value choosing between two styles by feel for improving readability and conciseness.
For example, allowing one-liner early-returns if they are concise enough. If they are not, they must be multi-line with a block with curly braces. There’s no linter rule that defines what “simple enough” is, and most linters don’t do rules with condition either.
OpenGL is an API standard. It defines data structures, operation interfaces, and behavior.
Mesa 3D is an implementation of OpenGL. It can be used so users of OpenGL can call it to draw stuff.
Vulkan is a newer API standard. It is newer and was designed with a lot of new hardware and hardware capabilities in mind, and significantly reduced what the job of the API is supposed to do compared to OpenGL. Essentially giving API users many more opportunities to control graphics pipeline behavior for better efficiency and performance. Libraries and frameworks exist that provide more convenience and prepared setup or opinionated usage patterns on top of Vulkan.
DirectX had a similar shift with DirectX version 12, which also implemented closer-to-hardware APIs similar to Vulkan vs OpenGL.