Propagate types through expressions