Please make sure that this matches normal D struct semantics.