how to define a facade for each of the possible types of an abstract type field
Understand and declare abstract types to allow certain fields to be of several types sharing a common base.