Provides a unified interfaces
Note
note: Due to a known issue with preprocessing in fpm (see: https://github.com/fortran-lang/fpm/issues/773), conditional compilation is currently unreliable in this context. As a workaround, the implementation must be selected manually.