Против модульности никаких возражений нет, она нужна ради красоты кода, а это является более сильным аргументом, чем переносимость. Забота о переносимости загружает мозги разработчика лишними задачами. Если напрочь забыть о переносимости, работать станет легче и получится красивый код, который и перенести будет несложно.