Why is it so hard to write error correction functions for them?