
{{alias}}( obj, path, value[, options] )
    Sets a nested property value.

    Parameters
    ----------
    obj: ObjectLike
        Input object.

    path: string|Array
        Key path.

    value: any
        Value to set.

    options: Object (optional)
        Options.

    options.create: boolean (optional)
        Boolean indicating whether to create a path if the key path does not
        already exist. Default: false.

    options.sep: string (optional)
        Key path separator. Default: '.'.

    Returns
    -------
    bool: boolean
        Boolean indicating if the property was successfully set.

    Examples
    --------
    > var obj = { 'a': { 'b': { 'c': 'd' } } };
    > var bool = {{alias}}( obj, 'a.b.c', 'beep' )
    true

    // Specify an alternative separator via the sep option:
    > obj = { 'a': { 'b': { 'c': 'd' } } };
    > bool = {{alias}}( obj, 'a/b/c', 'beep', { 'sep': '/' } );
    > obj
    { 'a': { 'b': { 'c': 'beep' } } }

    // To create a key path which does not exist, set the create option to true:
    > bool = {{alias}}( obj, 'a.e.c', 'boop', { 'create': true } );
    > obj
    { 'a': { 'b': { 'c': 'beep' }, 'e': { 'c': 'boop' } } }


{{alias}}.factory( path[, options] )
    Creates a reusable deep set function.

    Parameters
    ----------
    path: string|Array
        Key path.

    options: Object (optional)
        Options.

    options.create: boolean (optional)
        Boolean indicating whether to create a path if the key path does not
        already exist. Default: false.

    options.sep: string (optional)
        Key path separator. Default: '.'.

    Returns
    -------
    out: Function
        Deep get function.

    Examples
    --------
    > var dset = {{alias}}.factory( 'a/b/c', {
    ...     'create': true,
    ...     'sep': '/'
    ... });
    > var obj = { 'a': { 'b': { 'c': 'd' } } };
    > var bool = dset( obj, 'beep' )
    true
    > obj
    { 'a': { 'b': { 'c': 'beep' } } }

    See Also
    --------

