But yes, it it a guideline, and Ruby code that violates it will generally be seen as not being idiomatic Ruby.
But yes, it it a guideline, and Ruby code that violates it will generally be seen as not being idiomatic Ruby.
It makes more sense than talking of duck typing explicit usage by end users, given it's quite rare we assert proper received parameters extensively.
EDIT : which makes me realize we have a machine language without typing (binary), on top of which we use a language implementing strong typing (C), used to build a language without strong typing (ruby), on top of which Stripe is building strong typing. Making a definitive decision is hard :)
C is statically typed, Ruby is dynamic.
Strong typing is about objects having a definite type. In Ruby, you cannot cast a String to a Fixnum, an exception will be raised. But in C you may cast anything to anything really, and your program will believe you, whether it could possibly make sense or not...