The current version
/**
* start_union - Creates a new database object to be used for unions
*
* @return A new database object to use for a union query
*/
function start_union(){
$this->unions++;
return $this->start_subquery('');
}
Causes

Because the A from "A new database..." is the first argument here.
Instead the first word should be the returned type:
/**
* @return CI_Loader A new database object to use for a union query
*/
The current version
Causes

Because the
Afrom "A new database..." is the first argument here.Instead the first word should be the returned type: