digraph fn_gen_assignment {
  labelloc="t";
  graph [fontname = "cc wild words"];
  node [fontname = "cc wild words"];
  edge [fontname = "cc wild words"];

  label="fn_gen_assignment(type: GazType)";
  fontname=lovebeat;
  rankdir=LR;
  newrank=true;

  a [label="fork on type"];
  // read from stdinput
  b [label="gen_boolean()" shape=diamond style=filled fillcolor=lightsalmon];
  c [label="gen_character()" shape=diamond style=filled fillcolor=lightsalmon];
  d [label="gen_integer()" shape=diamond style=filled fillcolor=lightsalmon];
  e [label="gen_real()" shape=diamond style=filled fillcolor=lightsalmon];
  f [label="gen_tuple()" shape=diamond style=filled fillcolor=lightsalmon];
  g [label="return" style=filled fillcolor=lightskyblue1];

  a -> b -> g;
  a -> c -> g;
  a -> d -> g;
  a -> e -> g;
  a -> f -> g;
}