Arguments for the ability to declare return types:
1. Type safety: Given the increase in speed one can achieve by declaring
input types to a function, return types would allow one to have safer code.
2. Fast function composition: I could be wrong here, but without
stronger function typing, one can't expect to pass functions as arguments
to other functions performantly.
I don't know why optional return type declaration would be a bad thing.
btw, I'm a fan of the verbose/consistent syntax:
myfcn(args::inTypes)::outTypes
with all type parameters all being passed before the first parenthesis, as
usual. When passing myfcn to another function, perhaps one could do
myfcn2(myfcn::Function{outTypes})
which might result in nested type parameters in the case that myfcn2 takes
a type parameter. I know this has been discussed in the past, but I'd like
to get a sense for where other users currently stand on this matter.