Remove uninhabited types and simplify type signatures