let fun unturn(x) = turn(turn(turn(x))) fun pile(x, y) = unturn(sew(turn(y), turn(x))) val row1 = sew(turn(b), unturn(b)) val row2 = sew(unturn(b), turn(a)) val row3 = sew(turn(a), unturn(a)) val top_left_cell = pile(row1,row2) fun make_square(x) = pile(sew(x, turn(x)), sew(unturn(x), turn(turn(x)))) in make_square(make_square(top_left_cell)) end