Nice work!. I just find a little odd, the use of “using NodesAndModes.Shape” as a way to select different reference elements. It makes a little difficult to use multiple reference elements in the same code.I wonder if would be better to export some reference element structs like Line, Triangle and then you could call: nodes(Line()) or vandermore(Line(), …), vandermore(Triangle(),…), etc.