No matter what is passed to with_prim_type, the primitive type is always Triangles.
I'm not that familiar with the code base, but I poked around and from what I can see the primitive type isn't attached to anything. It's assigned in the mesh but never really used.