let
 val aa=sew(a,turn(a))
 fun f(x,y)=
        let fun double(x)=turn(sew(x,x))
            val aa = turn(sew(a,b))
        in
          sew(double(b),aa)
        end
in
  f(f(aa,aa),f(aa,aa))
end