The code for checking the pragmas and actually making the change is here:
Line 789 in ba43468
Function{} -> markStatic x
There is an isLocal in Mikan.TypeChecking.Monad.Signature which can be used to check if the name is... local, to the current top-level module. So all of those pragmas should emit a UselessPragma vs. have an effect depending on whether isLocal qn. And when that's done we can kill modifyGlobalDefinition.
The code for checking the pragmas and actually making the change is here:
https://codeberg.org/1lab/mikan/src/commit/ba434684cacbd17a3ef1916302ed51b79e35d4fb/src/full/Mikan/TypeChecking/Rules/Decl.hs#L789
There is an `isLocal` in `Mikan.TypeChecking.Monad.Signature` which can be used to check if the name is... local, to the current top-level module. So all of those pragmas should emit a `UselessPragma` vs. have an effect depending on whether `isLocal qn`. And when that's done we can kill `modifyGlobalDefinition`.