New bottom-up type inferencer