I do not think the "non-fountain" style of error correction has the nice property of "just grab any reasonable fraction of the packets and you will get to decode the whole message". With a Turbo/LDPC/Polar/etc code you encode a packet, send it, and when it is received it is either decoded or not, but there is no notion of a message spread redundantly over many packets, where any n of them are enough for the decoding of the full message.
[0] https://en.wikipedia.org/wiki/Turbo_code
[1] https://en.wikipedia.org/wiki/Polar_code_(coding_theory)