When reducing, we need to apply semantic function. However, the type of (any) semantic function cannot be recovered due to existential unpacking.