add type inference to comprehension