I think we actually do want the shapes to match, because I think allowing people to e.g. say they want some points on the z-plane by doing ``CartesianPoint(x=[1,2,3],y=[4,5,6],z=0)`` might cause a fair bit of confusion.They all have to end up the same shape in the end, too, so I think it might be further confusing that someone ``c.z`` would yield ``[0,0,0]`` instead of just ``0``.

It could be I lack imagination, though... can you give a slightly more specific example of when someone might want this, @mdboom?