digraph functions { rankdir=TB; graph [fontname = "cc wild words"]; node [fontname = "cc wild words"]; edge [fontname = "cc wild words"]; rank=TB; subgraph cluster_fn_args_1 { label="fn_args(GazType)"; fontname=lovebeat; rankdir=TB; newrank=true; A1 [label="gen_type(GazType)" shape=diamond style=filled fillcolor=lightcoral]; B1 [label="pack into var"]; C1 [label="return" style=filled fillcolor=lightskyblue1]; A1 -> B1 -> A1; B1 -> C1; } subgraph cluster_fn_gen_type_2 { label="fn_gen_type(GazType)"; fontname=lovebeat; rankdir=TB; newrank=true; A2 [label="expr for type"]; B2 [label="literal"]; C2 [label="variable"]; D2 [label="subroutine"]; F2 [label="return" style=filled fillcolor=lightskyblue1]; A2 -> A2 [dir=back]; A2 -> B2 -> A2; A2 -> C2 -> A2; A2 -> D2 -> A2; A2 -> F2; } subgraph cluster_fn_gen_global_type_3 { label="fn_gen_global_type(GazType)"; fontname=lovebeat; rankdir=TB; newrank=true; A3 [label="expr for type"]; B3 [label="literal"]; C3 [label="global"]; D3 [label="function"]; F3 [label="return" style=filled fillcolor=lightskyblue1]; A3 -> A3 [dir=back]; A3 -> B3 -> A3; A3 -> C3 -> A3; A3 -> D3 -> A3; A3 -> F3; } }