1 checks for compatibility of words in a sentence (essentially popularity)
2 give example sentences for a certain word
3 word suggestions depending on context.
Language models would be a decent way to check popularity though it would be noisy. Sentence level rewrites would be hard unless you make it template driven.
We're currently building an online editor checks