最近のJavaやC#などの言語がグローバル関数を許してないのは何か思想的な理由があるわけじゃなくて、リファクタリングが型ベースで行われるからだよ。