Designing for emergence is more powerful than programming by instructions