Draft: Type-erasure for local assembler
This is a draft of a type-erasure of local assembler. The difficulty is that we do not want for an element assembler to do all the extra work of an intersection assembler. Unfortunately, the detection which part to assemble is done by static checks. This cannot be communicated by type-erasure classes. This implementation thus provides first a all-at-once local-matrix-assembler type-erasure class and then more specialized versions only for element assembler, boundary-intersection, or interior-intersection assembling.
Edited by Simon Praetorius