Overhauled type translation