I4 : Excessively long interfaces

IFS routines should not have more than 50 (arbitrary value, but used in historical document, and sounds already long to me) arguments.

Control flow routines should use derived types to group long lists of related variables.

Algorithmic kernels should be tight enough in scope to avoid the need for more than 50 arguments.

Lightweight _layer routines can be used as bridge between control flow code and kernel code.