Returns exact version ranges as Version objects, or None if there
        are no exact version ranges present.

def to_versions(self):
        """Returns exact version ranges as Version objects, or None if there
        are no exact version ranges present.
        """
        versions = []
        for bound in self.bounds:
            if bound.lower.inclusive and bound.upper.inclusive \
                    and (bound.lower.version == bound.upper.version):
                versions.append(bound.lower.version)

        return versions or None