I think `SingleSize` initially seems verbose as a type name. It's both grammatically singular and explicitly qualified as singular. But I can see an issue maybe caused by `GeneralSize`. Maybe we could call  `GeneralSize` -> `AdSize`?