Intel® Fortran Compiler 16.0 User and Reference Guide
Statement: Indicates a separate module procedure.
submodule (M) A contains real module function foo (arg) result(res) type(tt), intent(in) :: arg res = arg%r end function foo end submodule A