Also, give all these global functors the suffix GF to avoid shadowing such as we had with authF. And add some type annotations for clarity.