From: Tim Connor Date: 2008-02-01T07:25:10+09:00 Subject: Re: Gedankenexperiment on method duck type safety > See code implementing something similar athttp://people.freebsd.org/~eivind/ruby/types/ I like your warning in the readme: http://people.freebsd.org/~eivind/ruby/types/README and I wouldn't be surprised to find that being the case. I was considering though if a less verbose approach would be more rubyish and less painful. None of the extra pre-declaration required in the usual type system, but just how to make method declarations more explicitly contractual (looking at the contractual aspect more than the type system aspect). I suspect it is still a case of YAGNI, as I haven't really needed it yet, too much, but there are just some odd, harder than they should be bugs I've had to trace. Yeah tests and BDD helps a lot, and maybe a convention of always testing the nil and edge cases for each parameter. But when something nested goes awry, in a situation you know exactly what the function wants (even if it's just a responds_to), it might be nice to get a more immediate failure. Maybe that would interfere with refactoring and lead to a more Javaesque inflexibility, though. I dunno, to be honest. Which is why I posted. ;) Apparently in your experience it just led to additional pain with little benefit?