Reduce before computing type