whole_func_string: function setPathValue(obj, path, val) {
    var parsed = parsePath(path);
    internalSetPathValue(obj, val, parsed);
    return obj;
  }
func_code_string: function setPathValue(obj, path, val) {
    var parsed = parsePath(path);
    internalSetPathValue(obj, val, parsed);
    return obj;
  }
func_documentation_string: ### .setPathValue(object, path, value)
  
  Define the value in an object at a given string path.
  
  ```js
  var obj = {
  prop1: {
  arr: ['a', 'b', 'c']
  , str: 'Hello'
  }
  , prop2: {
  arr: [ { nested: 'Universe' } ]
  , str: 'Hello again!'
  }
  };
  ```
  
  The following would be acceptable.
  
  ```js
  var properties = require('tea-properties');
  properties.set(obj, 'prop1.str', 'Hello Universe!');
  properties.set(obj, 'prop1.arr[2]', 'B');
  properties.set(obj, 'prop2.arr[0].nested.value', { hello: 'universe' });
  ```
  
  @param {Object} object
  @param {String} path
  @param {Mixed} value
  @api private