In a large pot of boiling salted water, cook the pasta until it’s tender but not mushy. Set aside.
Preheat the oven to 350°F. In an empty pot, melt the butter over medium heat. Whisk in the flour and cook for a minute or so, until the mixture starts to turn golden. Stir in the milk and bring the sauce to a full boil, whisking constantly. Reduce the heat and simmer for a few minutes, until the mixture is nice and thick.
Remove the sauce from the heat and stir in the cheese until it melts. Add salt to taste, then stir in the drained pasta and beans.
If you want a breadcrumb topping, pulse the bread, butter and Parmesan in a food processor until the bread turns to crumbs and the mixture is well blended.
Pour the macaroni and cheese into a baking dish and top with the breadcrumbs or additional cheese.
Bake for 15 to 20 minutes, until the dish is bubbly around the edges and the topping is golden.