In that first diagram (https://softwarepreservation.computerhistory.org/FP/Composin...), A and B are supposed to be pure functional programs; side-effects are modeled by each one outputting a new version of each modified input. In the second diagram (https://softwarepreservation.computerhistory.org/FP/Strict_H...), as actually implemented in FL, they stick to strictly leftmost-innermost evaluation order so that side-effects are at consistent (but this presumably prevents parallel evaluation).