First of a series of major fixes to type annotations; cleans up interface with TypeAnnotationPosition Reviewed-by: jjg