Why do we need TYPEOF?

I was also hoping for the feature.

And I also fail to see the issue:

module a_m
    implicit none
    integer :: dummy = 0
end module

module b_m
    implicit none
    integer :: dummy = 0
end module

module c_m
    use, namespace :: a_m
    use b_m

    implicit none
    private
    public :: a_m
    public :: b_m

    integer :: val = 1
    integer, public :: another_val = 2
    ...
end module

use, namespace :: c_m

implicit none

print*,c_m %% a_m %% dummy
print*,c_m %% dummy       ! comes from b_m
print*,c_m %% another_val
end

And, even though we’re running out of ASCII symbols, I think # can still be used instead of %%.