The actual type of an_item is discovered (computed)
at runtime. This requires CPU run-time; this cost may be avoided providing the correct type to make
creation feature which requires - as a precondition - it to be the correct type.
NOTE: this is not the preferred method. You should know the type of the objects you create and
use the "create" functions of FOREIGN_TYPES.