\begin{picture}(329,184)(21,9)
  \gasset{Nadjust=n}
  \node[Nadjust=w](block1)(82,131){$\mathtt{list\_even}$}
  \node[Nadjust=w](block2)(233,101){$\mathtt{even}$}
  \node[Nadjust=w](block3)(340,176){$\mathtt{odd}$}
  \gasset{Nadjust=n,Nw=1,Nh=20,Nmr=0,fillgray=0} % black rectangle
  \gasset{ExtNL=y,NLdist=3,NLangle=45} % external label right and above the node
  \node(trans5)(265,178){$\mathtt{s}$}
  \gasset{Nadjust=n,Nw=20,Nh=1,Nmr=0,fillgray=0} % black rectangle
  \gasset{ExtNL=y,NLdist=3,NLangle=135} % external label right and above the node
  \node(trans2)(154,114){$\mathtt{cons}$}
  \node(trans3)(235,19){$\mathtt{o}$}
  \gasset{Nadjust=n,Nw=1,Nh=20,Nmr=0,fillgray=0} % black rectangle
  \gasset{ExtNL=y,NLdist=3,NLangle=225} % external label right and above the node
  \node(trans4)(313,103){$\mathtt{s}$}
  \gasset{Nadjust=n,Nw=20,Nh=1,Nmr=0,fillgray=0} % black rectangle
  \gasset{ExtNL=y,NLdist=3,NLangle=315} % external label right and above the node
  \node(trans1)(31,183){$\mathtt{nil}$}
  \gasset{ELpos=85,ELdistC=y,ELdist=0} % put (argument number) labels on the edge, toward the end
  \drawqbedge[eyo=0](block3,373,103,trans4){}
  \drawqbedge(trans4,253,103,block2){}
  \drawqbedge[exo=5](block2,154,74,trans2){\tiny 1}
  \drawqbedge[exo=-5](block1,154,34,trans2){\tiny 2}
  \drawqbedge(trans2,154,174,block1){}
  \drawqbedge(trans3,235,79,block2){}
  \drawqbedge[eyo=0](block2,205,178,trans5){}
  \drawqbedge(trans5,325,178,block3){}
  \drawqbedge(trans1,31,123,block1){}
\end{picture}
