Cortex-M CMSIS Driver groups and related question

I want to start on using CMSIS and as well as also possibly implement my own drivers with CMSIS interface.I don't have a clear pic in my head of the complete layout of CMSIS, what goes into it. Specifically about Driver:

https://arm-software.github.io/CMSIS_5/Driver/html/index.html

There is a bullet list there,  CMSIS-Driver API groups. Is this complete list of what there is then, is this all that is defined by standard?

I'm also particularly wanted to clarify, I don't understand where do other type of MCU more common or 'primitive' specific "drivers" would go, such as GPIO, ADC for .e.g?

It says on that link I've referenced above, ".. A Device Family Pack may contain additional interfaces in the Component Class Device to extend the standard Peripheral Drivers covered by this CMSIS-Driver specification with additional device specific interfaces for example for Memory BUS, GPIO, or DMA. "

What is this "Device Family Pack" ?  Does it have interfaces defined by the CMSIS for it? 

Does this  "...with additional device specific interfaces"  mean for such "drivers" (or basic glue? ) there is no common CMSIS type interfaces?

Does anyone write a CMSIS type say ADC 'wrapper' or driver, or this is always left as too specific for an MCU?

More questions in this forum