> Actor model as a library is a design pattern. Design patterns are merely patches for missing language features
In the sense in which it is accurate to say that "design patterns are merely patches for missing language features" -- that is, design patterns that are applied as code templates -- anything that can be implemented once as a library is not a design pattern in the language where that is possible.
You can get rid of the global variable by testing the actual settings instead:
if (!&number && !&relativenumber)
elseif (&number && !&relativenumber)