А то, что тебе прилетело три аргумента в функцию вместо двух - ты же про сеть говоришь? Жсон какой-нибудь, к примеру? Так вот в открытых системах ты из этого жсона вытаскиваешь из трех полей только два нужных, остальное - мимо, и передаешь в функцию. А внутри твоего рантайма уже могут быть проверки типов, которые по сути ортогональны проверке твоих контрактов.