does this only refer to TypeReference or everything under this line? Can we get rid of type reference?