Given that Fortran 90+ has user-defined types, I don't see any reason why we can't allow these to be used to make MPI_M**LOC reductions more useful in Fortran. See the following ticket for details. Please add comments to the GitHub issue.
https://github.com/mpi-forum/mpi-issues/issues/70
Thanks,