This method can be used to check for a corrupted version.
        Will continue to a full read (slower) if the internally invoked fast-detection does not locate a corruption.

        Parameters
        ----------
        l : `arctic.store.version_store.VersionStore`
            The VersionStore instance against which the analysis will be run.
        sym : `str`
            The symbol to test if is corrupted.
        input_v : `int` or `arctic.store.version_store.VersionedItem`
            The specific version we wish to test if is corrupted. This argument is mandatory.

        Returns
        -------
        `bool`
            True if the symbol is found corrupted, False otherwise.

def is_corrupted(l, sym, input_v):
    """
        This method can be used to check for a corrupted version.
        Will continue to a full read (slower) if the internally invoked fast-detection does not locate a corruption.

        Parameters
        ----------
        l : `arctic.store.version_store.VersionStore`
            The VersionStore instance against which the analysis will be run.
        sym : `str`
            The symbol to test if is corrupted.
        input_v : `int` or `arctic.store.version_store.VersionedItem`
            The specific version we wish to test if is corrupted. This argument is mandatory.

        Returns
        -------
        `bool`
            True if the symbol is found corrupted, False otherwise.
        """
    # If version is just a number, read the version document
    input_v = l._versions.find_one({'symbol': sym, 'version': input_v}) if isinstance(input_v, int) else input_v
    if not _fast_check_corruption(l._collection, sym, input_v,
                                  check_count=True, check_last_segment=True, check_append_safe=False):
        try:
            # Done with the fast checks, proceed to a full read if instructed
            l.read(sym, as_of=input_v['version'])
            return False
        except Exception:
            pass
    return True