<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def array_addunique(path, value, create_parents=False, **kwargs):
 """ Add a new value to an array if the value does not exist. :param path: The path to the array :param value: Value to add to the array if it does not exist. Currently the value is restricted to primitives: strings, numbers, booleans, and `None` values. :param create_parents: Create the array if it does not exist .. note:: The actual position of the new item is unspecified. This means it may be at the beginning, end, or middle of the existing array) This operation is only valid in :cb_bmeth:`mutate_in`. .. seealso:: :func:`array_append`, :func:`upsert` """

    return _gen_4spec(LCB_SDCMD_ARRAY_ADD_UNIQUE, path, value,
                      create_path=create_parents, **kwargs)