I don't actually understand what the behavior should be for `sympy.sieve[0]` but my handling of slices mimics the behavior of the current code, which appears to return the last prime in the list.  I suppose this is because there is no 0th prime?  If we just pass the slice strait through, we get results inconsistent with the current code.