type and value return types