How to turn an existing WiFi connection off and on again using <ESP8266WiFi.h>

I'm not 100% sure since it appears that turning off WiFi is not near as well documented as turning it on.

It seems that WiFi.mode(WIFI_OFF); is the only thing that kills it completely, but getting WiFi turned on again after calling that is a pain in the behind. I haven't been able to get that to work reliably. It should be something along the line of what's below but when searching the internet there are lots of reports it's plagued by bugs over the years.

void disableWifi(){
  WiFi.disconnect();
  WiFi.end();
  WiFi.mode(WIFI_OFF);
}

void enableWifi(){
  WiFi.mode(WIFI_STA);
  WiFi.begin(SSID, PWD);
}

Another approach involves WiFi.forceSleepBegin(); combined with WiFi.forceSleepWake(); or WiFi.resume(). It looks like I have to create multiple setups and measure current draw to get to the bottom of this. For now WiFi.disconnect(); is acceptable.