Я уверен, что это непросто, особенно если смотреть на это с инженерной точки зрения. Спроектировать заранее такое поведение - невероятно сложно.
Другое дело, что эволюция использует не инженерный подход, а постоянный поиск работающих механизмов через случайные изменения и очень-очень много итераций. И вот с точки зрения такого подхода ничего сложного нет.
Посмотреть обсуждение, содержащее этот комментарий