let fun sew3(x,y,z) = sew(sew(x,y),z)
    fun unturn(x) = turn(turn(turn(x)))
    val p = unturn(a)
    val q = unturn(b)
in
    sew(sew(turn(sew3(a,p,a)),unturn(sew3(a,p,a))),sew(turn(sew3(b,q,b)),unturn(sew3(b,q,b))))
end