,....|...................................., :aux | *=============*+-+ *=======* : : +->!case W of E,S!#-#---->!split W!+ : : *=============*|+#----+*=======*v : : *=================*+-###-+ +#-+*=======*: ->!send[(W,S),(W,E)]!--#+|+#-##->!use aux!- : *=================* v +##-+v *=======*: : ++ *==================* || *===========*: : +->!send[(Inl(N,W),E)]!+|+>!send[(N,E)]!- : *==================*++ *===========*: ,........................................., ,......................|....., :rev v : :*===============* *=======*: :!send[(Inr(),E)]!->!use aux!- :*===============* *=======*: ,............................,