One downside IMHO is reimplementing the same building blocks rather than refactoring and reusing because it’s cheap to reimplement.