When I send something into a pad and duplicate the pad in the document, a nice handy arrow is indicating that a value is going in elsewhere (if I get that right). This happens both for adaptive pads and pads that have a type set.
But when I connect something to the output of the duplicated pad (for example an IOBox), the arrow disappears.
In every operation you can assume that first always all Pads are read from. Then all its operations are executed and only as the last step all Pads are written to.
If a link goes into a Pad (from above), data is written into this Pad. If a link leaves a Pad (at the bottom), data is read from this Pad.
A little triangle above a Pad is a hint that there is a Pad with the same name in the patch that is also written to.
But this is still the case when I read from the pad (like in the second image), so why does the little triangle dissapear? It would actually be handy if it stayed there, if the pad is used in different parts of the patch, so you immediately see that somewhere else it is connected upstream.
The arrow indicates that this pad is written somewhere else, reading that pad will NOT add this arrow, when tracking bugs regarding unexpected values, you only need to know whether the value can change somewhere else. Reading a pad will never change the value and is therefore safe.
If you want to see other usages, select it and press F3 several times. Another visualization of all the usages of a pad is still missing.