Could you briefly explain how the macro expansion works in some of the more esoteric cases, e.g: ` @Map<('a | undefined)>[@String]`