%timeit 4@P(H({1: 1, 2: 1, 3: 1, 4: 1, 5: 1, 6: 1}))).at(slice(0))
1.88 μs ± 53.9 ns per loop (mean ± std. dev. of 7 runs, 1,000,000 loops each)
%timeit 4@P(H({1: 1, 2: 1, 3: 1, 4: 1, 5: 1, 6: 1}))).at(slice(1))
8.54 μs ± 38.1 ns per loop (mean ± std. dev. of 7 runs, 100,000 loops each)
%timeit 4@P(H({1: 1, 2: 1, 3: 1, 4: 1, 5: 1, 6: 1}))).at(slice(2))
59.6 μs ± 962 ns per loop (mean ± std. dev. of 7 runs, 10,000 loops each)
%timeit 4@P(H({1: 1, 2: 1, 3: 1, 4: 1, 5: 1, 6: 1}))).at(slice(3))
264 μs ± 1.83 μs per loop (mean ± std. dev. of 7 runs, 1,000 loops each)
%timeit 6@P(H({1: 1, 2: 1, 3: 1, 4: 1, 5: 1, 6: 1}))).at(slice(2))
60.2 μs ± 1.46 μs per loop (mean ± std. dev. of 7 runs, 10,000 loops each)
%timeit 6@P(H({1: 1, 2: 1, 3: 1, 4: 1, 5: 1, 6: 1}))).at(slice(3))
130 μs ± 21 μs per loop (mean ± std. dev. of 7 runs, 10,000 loops each)
%timeit 6@P(H({1: 1, 2: 1, 3: 1, 4: 1, 5: 1, 6: 1}))).at(slice(4))
541 μs ± 1.41 μs per loop (mean ± std. dev. of 7 runs, 1,000 loops each)
%timeit 6@P(H({1: 1, 2: 1, 3: 1, 4: 1, 5: 1, 6: 1}))).at(slice(5))
594 μs ± 6.52 μs per loop (mean ± std. dev. of 7 runs, 1,000 loops each)

%timeit P(H({-1: 1, 0: 1, 1: 1, 2: 1, 3: 1, 4: 1}), H({0: 1, 1: 1, 2: 1, 3: 1, 4: 1, 5: 1}), 2@P(H({1: 1, 2: 1, 3: 1, 4: 1, 5: 1, 6: 1})))).at(slice(0))
1.83 μs ± 7.47 ns per loop (mean ± std. dev. of 7 runs, 1,000,000 loops each)
%timeit P(H({-1: 1, 0: 1, 1: 1, 2: 1, 3: 1, 4: 1}), H({0: 1, 1: 1, 2: 1, 3: 1, 4: 1, 5: 1}), 2@P(H({1: 1, 2: 1, 3: 1, 4: 1, 5: 1, 6: 1})))).at(slice(1))
463 μs ± 4.13 μs per loop (mean ± std. dev. of 7 runs, 1,000 loops each)
%timeit P(H({-1: 1, 0: 1, 1: 1, 2: 1, 3: 1, 4: 1}), H({0: 1, 1: 1, 2: 1, 3: 1, 4: 1, 5: 1}), 2@P(H({1: 1, 2: 1, 3: 1, 4: 1, 5: 1, 6: 1})))).at(slice(2))
265 μs ± 5.63 μs per loop (mean ± std. dev. of 7 runs, 1,000 loops each)
%timeit P(H({-1: 1, 0: 1, 1: 1, 2: 1, 3: 1, 4: 1}), H({0: 1, 1: 1, 2: 1, 3: 1, 4: 1, 5: 1}), 2@P(H({1: 1, 2: 1, 3: 1, 4: 1, 5: 1, 6: 1})))).at(slice(3))
816 μs ± 1.06 μs per loop (mean ± std. dev. of 7 runs, 1,000 loops each)
%timeit P(H({-2: 1, -1: 1, 0: 1, 1: 1, 2: 1, 3: 1}), H({-1: 1, 0: 1, 1: 1, 2: 1, 3: 1, 4: 1}), H({0: 1, 1: 1, 2: 1, 3: 1, 4: 1, 5: 1}), 3@P(H({1: 1, 2: 1, 3: 1, 4: 1, 5: 1, 6: 1})))).at(slice(2))
337 μs ± 3.11 μs per loop (mean ± std. dev. of 7 runs, 1,000 loops each)
%timeit P(H({-2: 1, -1: 1, 0: 1, 1: 1, 2: 1, 3: 1}), H({-1: 1, 0: 1, 1: 1, 2: 1, 3: 1, 4: 1}), H({0: 1, 1: 1, 2: 1, 3: 1, 4: 1, 5: 1}), 3@P(H({1: 1, 2: 1, 3: 1, 4: 1, 5: 1, 6: 1})))).at(slice(3))
1.93 ms ± 9.3 μs per loop (mean ± std. dev. of 7 runs, 1,000 loops each)
%timeit P(H({-2: 1, -1: 1, 0: 1, 1: 1, 2: 1, 3: 1}), H({-1: 1, 0: 1, 1: 1, 2: 1, 3: 1, 4: 1}), H({0: 1, 1: 1, 2: 1, 3: 1, 4: 1, 5: 1}), 3@P(H({1: 1, 2: 1, 3: 1, 4: 1, 5: 1, 6: 1})))).at(slice(4))
3.4 ms ± 14.7 μs per loop (mean ± std. dev. of 7 runs, 100 loops each)
%timeit P(H({-2: 1, -1: 1, 0: 1, 1: 1, 2: 1, 3: 1}), H({-1: 1, 0: 1, 1: 1, 2: 1, 3: 1, 4: 1}), H({0: 1, 1: 1, 2: 1, 3: 1, 4: 1, 5: 1}), 3@P(H({1: 1, 2: 1, 3: 1, 4: 1, 5: 1, 6: 1})))).at(slice(5))
3.49 ms ± 16.4 μs per loop (mean ± std. dev. of 7 runs, 100 loops each)

%timeit (P(H({-3: 1, -2: 1, -1: 1, 0: 1, 1: 1, 2: 1}), H({-2: 1, -1: 1, 0: 1, 1: 1, 2: 1, 3: 1}), H({-1: 1, 0: 1, 1: 1, 2: 1, 3: 1, 4: 1}), H({0: 1, 1: 1, 2: 1, 3: 1, 4: 1, 5: 1}))).at(slice(0))
1.77 μs ± 18.2 ns per loop (mean ± std. dev. of 7 runs, 1,000,000 loops each)
%timeit (P(H({-3: 1, -2: 1, -1: 1, 0: 1, 1: 1, 2: 1}), H({-2: 1, -1: 1, 0: 1, 1: 1, 2: 1, 3: 1}), H({-1: 1, 0: 1, 1: 1, 2: 1, 3: 1, 4: 1}), H({0: 1, 1: 1, 2: 1, 3: 1, 4: 1, 5: 1}))).at(slice(1))
1.06 ms ± 8.17 μs per loop (mean ± std. dev. of 7 runs, 1,000 loops each)
%timeit (P(H({-3: 1, -2: 1, -1: 1, 0: 1, 1: 1, 2: 1}), H({-2: 1, -1: 1, 0: 1, 1: 1, 2: 1, 3: 1}), H({-1: 1, 0: 1, 1: 1, 2: 1, 3: 1, 4: 1}), H({0: 1, 1: 1, 2: 1, 3: 1, 4: 1, 5: 1}))).at(slice(2))
210 μs ± 1.65 μs per loop (mean ± std. dev. of 7 runs, 1,000 loops each)
%timeit (P(H({-3: 1, -2: 1, -1: 1, 0: 1, 1: 1, 2: 1}), H({-2: 1, -1: 1, 0: 1, 1: 1, 2: 1, 3: 1}), H({-1: 1, 0: 1, 1: 1, 2: 1, 3: 1, 4: 1}), H({0: 1, 1: 1, 2: 1, 3: 1, 4: 1, 5: 1}))).at(slice(3))
1.23 ms ± 6.8 μs per loop (mean ± std. dev. of 7 runs, 1,000 loops each)
%timeit (P(H({-5: 1, -4: 1, -3: 1, -2: 1, -1: 1, 0: 1}), H({-4: 1, -3: 1, -2: 1, -1: 1, 0: 1, 1: 1}), H({-3: 1, -2: 1, -1: 1, 0: 1, 1: 1, 2: 1}), H({-2: 1, -1: 1, 0: 1, 1: 1, 2: 1, 3: 1}), H({-1: 1, 0: 1, 1: 1, 2: 1, 3: 1, 4: 1}), H({0: 1, 1: 1, 2: 1, 3: 1, 4: 1, 5: 1}))).at(slice(2))
346 μs ± 4.75 μs per loop (mean ± std. dev. of 7 runs, 1,000 loops each)
%timeit (P(H({-5: 1, -4: 1, -3: 1, -2: 1, -1: 1, 0: 1}), H({-4: 1, -3: 1, -2: 1, -1: 1, 0: 1, 1: 1}), H({-3: 1, -2: 1, -1: 1, 0: 1, 1: 1, 2: 1}), H({-2: 1, -1: 1, 0: 1, 1: 1, 2: 1, 3: 1}), H({-1: 1, 0: 1, 1: 1, 2: 1, 3: 1, 4: 1}), H({0: 1, 1: 1, 2: 1, 3: 1, 4: 1, 5: 1}))).at(slice(3))
842 μs ± 2.37 μs per loop (mean ± std. dev. of 7 runs, 1,000 loops each)
%timeit (P(H({-5: 1, -4: 1, -3: 1, -2: 1, -1: 1, 0: 1}), H({-4: 1, -3: 1, -2: 1, -1: 1, 0: 1, 1: 1}), H({-3: 1, -2: 1, -1: 1, 0: 1, 1: 1, 2: 1}), H({-2: 1, -1: 1, 0: 1, 1: 1, 2: 1, 3: 1}), H({-1: 1, 0: 1, 1: 1, 2: 1, 3: 1, 4: 1}), H({0: 1, 1: 1, 2: 1, 3: 1, 4: 1, 5: 1}))).at(slice(4))
7.91 ms ± 25.4 μs per loop (mean ± std. dev. of 7 runs, 100 loops each)
%timeit (P(H({-5: 1, -4: 1, -3: 1, -2: 1, -1: 1, 0: 1}), H({-4: 1, -3: 1, -2: 1, -1: 1, 0: 1, 1: 1}), H({-3: 1, -2: 1, -1: 1, 0: 1, 1: 1, 2: 1}), H({-2: 1, -1: 1, 0: 1, 1: 1, 2: 1, 3: 1}), H({-1: 1, 0: 1, 1: 1, 2: 1, 3: 1, 4: 1}), H({0: 1, 1: 1, 2: 1, 3: 1, 4: 1, 5: 1}))).at(slice(5))
8.04 ms ± 24.8 μs per loop (mean ± std. dev. of 7 runs, 100 loops each)

