{'fraction_non_alphanumeric': 0.007894736842105263, 'fraction_numerical': 0.0, 'mean_word_length': 6.046296296296297, 'pattern_counts': {'":': 0, '<': 0, '<?xml version=': 0, '>': 0, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
Mechanistic Constraints on Evolutionary Outcomes*

Understanding the role mechanistic constraints play in shaping evolution can relieve the tension between the generally accepted intuition that there are no strict laws in biology and empirical findings showing that evolutionary processes are biased toward preferred outcomes. Mechanistic constraints explain why some evolutionary outcomes are more probable than others and allow for predictions in specific lineages. At the same time, mechanistic constraints are neither necessary nor universal in the way laws are traditionally characterized: they remain contingent on the past evolution of the biological mechanisms underpinning them and only constrain the future evolution of the organisms possessing them.