Acceda a un parámetro desde una interfaz (Fortran)

Estoy usando un parámetro para corregir la precisión de los tipos utilizados. Esto funciona bien hasta que trato de usar el mismo tipo dentro de una interfaz. Considere este pequeño ejemplo:

module Hello
    implicit none

    save
    integer, parameter  :: K = selected_real_kind(10)

contains

    subroutine dosomething(fun)
        real(K)     :: foo
        interface
           function fun(bar)
                real(K) :: bar
                real(K) :: fun
           end function fun
        end interface
    end subroutine

end module

Aquí, foo sería del tipo deseado, mientras que el compilador (gfortran) se queja de 'bar' y 'diversión'.

El error es

Error: Parameter 'k' at (1) has not been declared or is a variable, which does 
not reduce to a constant expression

¿Hay alguna manera de hacer que esto funcione? (Por ahora, solo estoy escribiendo selected_real_kind (10) en todas partes, pero esto no es elegante en absoluto)

¡Gracias!

Respuestas a la pregunta(1)

Su respuesta a la pregunta