to have explicit kind and type_anno fields, to make it clearer that this represents source-code level annotation and not any kind of type inference intermediate product