Return the same type as the original data structure