Control.Arrow
calls them "split" and "fanout". That's the closest you'll get for official names.
However, in the particular case of arrows, I tend to think of them in terms of factory machines connected with conveyor belts. This gives you a very rich vocabulary if you start with defining the phonemes (not necessarily the actual functions)
belt = id
pipe-into = (.)
dupe = belt &&& belt
next-to = (***)
process-with = arr
In this vocabulary you pronounce first a
as "a
next to a belt
" and second a
as "a belt
next-to a
", while a &&& b
becomes "a dupe
piped into (an a
next to a b
)."
It also gives a nice visualization of ArrowApply; the factory machines can ArrowApply when there is some machine which takes in two conveyor belts: one for other machines, and one for objects that fit into the first machine. This machine stuffs the incoming object into the incoming machine, emits whatever the first machine emits, then throws the machine away.
It also gives a less-nice visualization of ArrowLoop in terms of giving the factory a magic box, then incrementally asking the factory to commit to some of the structure of what's inside the magic box (possibly providing more magic boxes for it to use), then making the committed structure magically available when the box is opened.