I'm probably overlooking something really obvious here.
Comments are in to help explain any library specific code.
public function areCookiesEnabled() {
        $random = 'cx67ds';
        // set cookie
        cookie::set('test_cookie', $random);
        // try and get cookie, if not set to false
        $testCookie = cookie::get('test_cookie', false);
        $cookiesAppend = '?cookies=false';
        // were we able to get the cookie equal ?
        $cookiesEnabled = ($testCookie === $random);
        // if $_GET['cookies'] === false , etc try and remove $_GET portion
        if ($this->input->get('cookies', false) === 'false' AND $cookiesEnabled) {
          url::redirect(str_replace($cookiesAppend, '', url::current())); // redirect 
          return false;
        }
        // all else fails, add a $_GET[]
        if ( ! $cookiesEnabled) {
          url::redirect(url::current().$cookiesAppend);
        }
        return $cookiesEnabled;
    }
Firstly, I wanted an easy way to check if cookies were enabled. I achieved this, but in the event of no cookies, there was an ugly ?cookies=false in the URL.
That was OK, but then if you reloaded the page and did have cookies enabled again, I wanted to redirect the user so it stripped off ?cookies=false in the URL (allowing the method to recheck and learn that cookies now are enabled.).