floats and bytes sized
optional sized
evaluate sizes refactoring enabling union sizing