There should never be references from SPI or API to Core, since API/SPI define the interfaces and Core only realizes them. AFAIK, each field type can use whatever it wants as its value, no need to use the base struct. So pleae remove the reference and the typehint below.