anchor.diff:  
       lf1 -> pf1;
   
  -    pf1 -> app2 [label="ultimate recipient"];
  +    pf1 -> app2 [label="  ultimate recipient"];
   
       {rank = same; app1; plat; lf1}
   }
  
positive.code: |===
  |Pros |Cons
  
  | Simplifies basic lineage
  | Multi-hop _via_ cannot be expressed
  
  | -
  | Inconsistency of recording.
  If App1 does not know, or particularly care about, App2 (or vice versa)
  
  | Intuitive understanding
  | -
  
  | -
  | -
  |===
  
  <<<
  
  === Layers
  
  This approach proposes additional layers of flows.  We currently have
  
  * logical
  * physical
  
  
  
  
negative.code: ----
  digraph B {
  
      plat[label="Platform\n:(", color="orange"];
      app1[label="App1", color="green"];
      app2[label="App2", color="green"];
      app3[label="App3", color="green"];
  