Fix activation of union members
- Members of a union need to be activated by calling a constructor (e.g. using placement new)
- This allows to also delete the move-assignment operators such that we can now better protect the internal classes against misuse.