skipping trips to specializeTypes when not necessary in constructors