Dataloader with custom sequential data

I have data where each training example is a mix between sequential and non sequential.

For instance, my dataset currently returns something like:

inputs = (scalar_a, sequence_a, sequence_b)
targets = sequence_c

return inputs, targets

All sequences (a, b, c) are of same length but of course different examples in a batch may have different lengths.

My desired output is when I iterate through the dataloader I should get a tuple with the same structure except everything should be batched.

How do I go about doing this?