I finally got the futility pruning working as it should, though the gains seem very limited at the moment.
I am not quite sure what causes this. Probably a combination of alot of things, like inCheck checks being too costly and the evaluation being very fast as it is.
Perhaps down the line when other things get optimized and extended we will see more benefits from futility pruning.
But for now I am not going to use it. It introduces a risk of missing combinations for very little gain (atleast in Mediocre's current state).
So now it is time to move on to a big project. The hash tables. With zobrist keys and transposition tables and more.