Nodes of different colours represent the following:
Solid arrows point from a submodule to the (sub)module which it is descended from. Dashed arrows point from a module or program unit to modules which it uses.
program volatile_doctest use vecfor_R4P type(vector_R4P) :: pt pt = ex_R4P + ey_R4P call pt%printf(prefix='[x, y, z] = ', sep=', ') endprogram volatile_doctest