For cross mesh/exernal data interpolation into a non-Lagrange space, we need to construct a Quadrature space. When the target space is symmetric tensor-valued, it is desirable to construct a symmetric Quadrature space, although not necessary.
Dome elements are intrinsically symmetric-valued (all basis functions are symmetric) even when the ufl_element().symmetry() is None, for example AW, JM, HHJ, and Regge. This is similar to the case of intrinsically vector-valued elements like RT, where the basis functions are vector-valued but they don't need a VectorElement.
Evem when we have intrisic symmetry we can always reduce the size of the Quadrature space by further inspecting the finat elements. The current implementation of FunctionSpace.quadrature_space() can be enhaced to do this.