One approach to formalizing any kind of "genericity" *(my forcing background is showing here)* is as follows. Intuitively, a generic object should avoid all "small" sets *(where "small" is something we already have an idea about - e.g. meager, null, etc.)*. Of course this will be impossible since every singleton will be small, so instead we get a gradation of genericity notions - where each one amounts to "avoids all "small" sets which are "simply definable"" for some appropriate notion of simple definability. For example, considering **randomness** we start with the intuition that a random real avoids every null set, and wind up with notions like "avoids every "computably describable" null set" (or more precisely, *"passes every computable Martin-Lof test"*).

Once we make this shift we get, as hoped for, that the set of non-generic objects is itself a small set. Consequently, insofar as naturally-occurring things are simply definable this entire perspective is predicated on the idea that naturally-occurring objects **shouldn't** be typical.

The fascinating thing, then, is that these "typical-but-unnatural" objects wind up actually being useful to us in serious ways - this is where **forcing** especially comes into play. So even though in one sense this is a cheating response to your question, I don't think it's actually inappropriate since there's real content here.