> Now before anyone cries foul, this is not about adding static typing to > Ruby If it provides hints for the compiler to cry on obvious errors, I don't care what people call it. > {<return type> => [<arg type 1>, <arg type 2> ...]} I find it rather confusing that the return value is in front of the argument list. Why not: > args Integer, Array, String > def mymethod(i, a) ... The last one is the return value. I think Haskell uses a somewhat similar notation: f :: a -> b -> c This could be implemented as a class method that does nothing in normal ruby. This could be called a library change though. Otherwise: > [Integer, Array, String] > def mymethod(i, a) ...