Due to the way SubscriptingRef works there's no way for it to describe
a subscript sequence that both does a slice and a regular index in the
same SubscriptingRef. This results into weird behaviour like the
following:
> select ('{1, 2, 3, 4}'::int[])[1:4][2];
int4
──────
{}
(1 row)
It's possible to get the expected result by adding some additional parenthesis
> select (('{1, 2, 3, 4}'::int[])[1:4])[2];
int4
──────
2
(1 row)