Noodiversity, Technodiversity: elements of a new economic foundation based on a new foundation for theoretical computer science.