Preheat oven to 350.
In a medium pot, preheat some olive oil over medium high heat. Add in the mushrooms and onions and cook for about 12 minutes to soften and lightly brown on the edges. Add in the garlic and cook another minute.
Add in the milk and stock and bring to a simmer. Cook 10 minutes and remove from heat.
Add the beans to a baking dish and pour the creamy sauce over them to just barely cover. Bake for about 20 minutes until the sauce begins to bubble.
Meanwhile, add the sliced onion to a bowl and season with the salt, paprika, and pepper. Add in just enough of the arrowroot and cassava to the onions to coat, tossing them in the bowl to make sure they are evenly covered.
Bring a frying pan with about 1/2 inch deep of oil to high heat. I like to use a neutral, high heat oil like avocado. Sprinkle in the onions, and cook for a few minutes, tossing occasionally, to brown. They probably will get a bit stuck together but that is OK. Remove from the pan onto a paper towel and allow to cool. Once cooled, you can break them apart a bit.
Remove the beans from the oven once bubbling. Stir in the arrowroot and watch as it thickens. Cover with the fried onions and return to the oven. Cook only 5 or 10 minutes more, just until it starts to bubble again, more cooking will cause the sauce to thin. Remove from heat and serve.