unify return types