/**
* Add value to the output data at the given path.
- * Path is an indexed array, each element specifying the branch at which to add the new value
- * Setting $path to array('a','b','c') is equivalent to data['a']['b']['c'] = $value
- * If $name is empty, the $value is added as a next list element data[] = $value
+ * Path can be an indexed array, each element specifying the branch at which to add the new
+ * value. Setting $path to array('a','b','c') is equivalent to data['a']['b']['c'] = $value.
+ * If $path is null, the value will be inserted at the data root.
+ * If $name is empty, the $value is added as a next list element data[] = $value.
*
- * @param $path
+ * @param $path array|string|null
* @param $name string
* @param $value mixed
* @param $overwrite bool