Roofs aren’t infrastructure. Giving money to private schools just helps them raise the price.
We should sponsor public K12 education so that parents never have to “afford” sending kids to school and can work instead of having to care for their children. Then they can spend that money on fixing roofs and buying food.