ki = IL + kpar (mod n).
I'm independently implementing BIP32 in Haskell on a private repo for now. It'll pop up on my github page when I'm happy with it in a few days.
I understood the above documentation line as follows: You need to treat IL as an EC private key. If it is
== 0 or >= n then it is an invalid private key. If it is valid, you add it to kpar, which is another private key. Now as private keys are field elements (modulo n), addition is defined as field addition (modulo n) instead of regular integer addition. Adding them together produces a new private key ki which will be < than n. However, this new value could be equal to 0 so you need to check that.
It is considered a standard notation to put the order of the field in parenthesis when writing operations within that field.
For example:
2 + 3 = 2 (mod 3)
3 + 8 = 4 (mod 7)
Cheers!
Edit: IL can be equal to zero