It seems that desc is modified in place (which is good) so this function shouldn't return desc.