I do the same with REAL, INTEGER variables:

```
use, intrinsic :: iso_fortran_env, only : .. I4 => int32, I8 => int64, ..
use, intrinsic :: ieee_arithmetic, only : .., ieee_selected_real_kind, ..
..
integer(I4) :: n
..
integer, parameter :: WP = ieee_selected_real_kind( p=.. )
..
real(WP) :: x
```

Note: all the compute environments where I get to work are supposed to follow IEEE floating-point arithmetic anyway, so I employ IEEE modules in Fortran and the IEEE functions.

But now, I ALWAYS use `len=`

form with CHARACTER objects even though that makes it rather verbose in code. Being a `polyglot`

when it comes to programming languages has long been an imperative in any form of computing including scientific and technical and I feel I myself and especially any colleagues who may read the code can overlook the intricacies of CHARACTER type in Fortran given the need to work with other languages so often at other times.

And the same with PDTs: I agree with the long form usage.

P.S.> Re: “In a world where I could use PDTs without worry …” I am really hoping Fortran compilers can get their act together and fix their problems with implementation of PDTs, pronto! Generics is at least about 6 years away for the standard (possibly much longer) and if the processors struggle with the LENGTH-type parameter in PDTs, they “ain’t seen nothing yet” in terms of the complexity with semantics that will come about trying to serve the most **rudimentary** of programming needs for scientists and engineers with Generics.