Limited list size while using IF statement

Hello,
Why when I am using a list output in IF statement (DS or node), final list size is limiting by lowest size of whole lists?

The output length is being governed by the shortest list length within the data-set due to lacing.
This is the built-in behaviour, possibly to avoid data loss if lacing is not set correctly, as I can recall seeing this previously on the forum, such as here.

In cases such as this, using OOTB nodes or a small amount of python will give you the desired result.

input = IN[0]
list1 = [1,2,3]
list2 = [1,2,3,4,5]
list3 = [1,2,3,4,5,6,7]
if input == 1:
	OUT = list1
elif input == 2:
	OUT = list2
else:
	OUT = list3

Thank you, @Ewan_Opie
You’ve made my day!