So... the major thing missing from my milter (ryoms) is bayesian filtering. I originally planned to use linfa, because it has not only a bayes model, but a vectorizer too, and I thought that'd be a great help.
Unfortunately, while I can update the training of the model, I can't update the vectorizer, not without great trouble. Great trouble that pretty much amounts to writing my own vectorizer to begin with.
And in that case, I might aswell use smartcore, because it has a more convenient API.