correct typing for assigned variables with use-site variance