Every TypeTag has a (potentially infinite) collection of values that use that tag. This specifies a lambda that produces the least upper bound A_Type that constrains all those values.
The lambda will be provided at most once, and only when needed.
Adjust the TypeTag to accommodate this modifier.