13 real y12 = y1+(y2-y1)/2;
14 real y23 = y2+(y3-y2)/2;
15 real y34 = y3+(y4-y3)/2;
17 draw((x1,y1)--(x3,y1), dashed);
18 label("Base type", (x1,y12), E);
19 label(minipage("\centering\tt
22 draw((x2,y12-0.3)--(x2,y2+0.1), Arrow);
23 label(minipage("\centering\tt
29 processor"), (x3, y12), W);
31 draw((x1,y2)--(x3,y2), dashed);
32 label("Primitive type", (x1,y23), E);
33 label(minipage("\centering\tt
39 calculated"), (x2, y23));
40 draw(shift(0.8W)*((x3,y2-0.1)--(x3,y34)), Arrow);
41 draw((x1,y3)--(x3,y3), dashed);
42 label("Derived type", (x1,y34), E);
43 label(minipage("\centering
44 \emph{e.g.} \tt inletOutlet"), (x2, y34));
45 draw((x1,y4)--(x3,y4), dashed);