protected static function _wordsToIPv6String(array $words): string
    {
        $groups = array_map(
            function ($word) {
                return sprintf("%04x", $word);
            }, $words);
        return implode(":", $groups);
    }