Nice talk by D. Rouson on modern Fortran features

This works only for subroutines, right? All arguments to a pure function must be intent(in), so an optional argument such as log is not allowed to be modified.