If the partition_vec example is close to your actual code, then it’s easier to rewrite using findall or filter:
partition_vec(v, thresh) = findall(<(thresh), v)
# or
partition_vec(v, thresh) = filter(i -> v[i] < thresh, eachindex(v))
The resulting vector type is properly inferred here.