def with_extracted_values(arr)
      str, vals = extract_values(arr)
      str = yield str
      inject_values(str, vals)
    end
def with_extracted_values(arr)
      str, vals = extract_values(arr)
      str = yield str
      inject_values(str, vals)
    end
Allows modifications to be performed on the string form
 of an array containing both strings and non-strings.

 @param arr [Array] The array from which values are extracted.
 @yield [str] A block in which string manipulation can be done to the array.
 @yieldparam str [String] The string form of `arr`.
 @yieldreturn [String] The modified string.
 @return [Array] The modified, interpolated array.