Introspection in Fortran for generic file I/O libraries

Or, try to emulate traits, as I desired to do recently, which has its downsides: Traits/interfaces in Fortran?