// stack and queue <-> list // ; => { [] _y -cons -> } ; // ; <= { [] _y -uncons -> } ; ; c\ [] <- ; ; c/ [] -> ; ; clear c\ c/ ; ; g\ { [] _x } ; ; g/ { [] _y } ; ; G\ { [] c\ _x } ; ; G/ { [] _y c/ } ; ; S/ G\ => ; ; S\ G\ <= cons 1 !. <- ; ; stack g\ ; ; unstack <- ; ; queue g/ ; ; unqueue -> ; ; unproject { [p] _x [p i] branch } ;