avoid some unnecessary typestr -> descriptor conversion by converting at deref() time