That is not true. If network partitions happen in bitcoin you are utterly ducked. The system will fork and good luck to recover from that with all the double spendings.
Usually interface{} is abused by java programmers. I agree that it's not great, but if you don't come from java or c++ chances you won't follow these patterns at least.
Usually, for distributed systems in adversarial settings we talk about safety and liveness. Bitcoin doesn't have safety, and both bitcoin and algorand seems to fail the liveness test as well.
In your terms, both bitcoin and algorand have weak availability.
Unfortunately I am not parroting. If you are used to read code, and you read c++, you will see that templates are abused. No generics force devs to make their code clearer and thus more secure.
It is evident that Go is a better language than most thanks to the creators having deep experience in that domain.