Many, many unions and struct refactors