     target[fieldname] = rescueTypes value
     return target
 
-  res = reduceRight.call keys, reducer, rescueTypes value
+  res = reduceRight keys, reducer, rescueTypes value
   target = rescueObjStruct res, target
   return target
 

  return null if value is "null"
  return false if value is "false"
  return true if value is "true"
  return Number value if "#{Number value}" isnt "NaN" and value isnt ""
  return value

###

  if isPlainObject(target) and key of target
    res[key] = rescueObjStruct val, target[key]
  else
    if isArray target
      res = [target...]
      if not res[key] or Number key
        if isPlainObject val
