Python 2, 60 59 bytes
f=lambda A,*x:[[v]+u for v in A for u in x and f(*x)or[[]]]
1 byte thx to ovs.
Look Ma! No itertools
!
f=lambda A,*x:[[v]+u for v in A for u in x and f(*x)or[[]]]
1 byte thx to ovs.
Look Ma! No itertools
!