eliminate default args in type constructor