It's sometimes desirable to create new providers that inherit from providers of a different type. The inifile module does this currently to create more specialised types:
The "ini_setting" type has a standard "ruby" provider, but here a new "glance_api_config" type has been created which has an "ini_setting" provider itself derived from the standard "ruby" provider from ini_setting (the type).
We want to use a similar technique in augeasproviders to have a standard provider containing utility implementations, then let others derive from it to create specialised providers. This also neatly sidesteps many issues with loading library code from Puppet providers.
This works today, but I'd like to add tests in core to prove it works and to ensure this functionality remains.