Por qué los parámetros opcionales deben aparecer al final de la declaración

En todos los lenguajes de programación que admiten parámetros opcionales que he visto, existe la imitación de que los parámetros opcionales deben aparecer al final de la declaración. No se pueden incluir parámetros necesarios después de un elemento opcional. Cuál es la razón para eso ? Supongo que puede ser un requisito del compilador / intérprete.