fix type analysis bug