I think the existing support more like "function overloading" in C++ - you make some subroutine/function name which calls the appropriate subroutine/function with the correct argument types.
Unfortunately the existing support isn't like proper generics. In my Fortran code I use C macros (#include) to avoid repeating big blocks of generic code for each data type. For example, I needed to do this for a sort routine which could act on different data types. This is very clumsy, so any proper generics will be welcome. Hopefully there will be a STL-like library which could be based around these generics.