For example, I see you are a Perl hacker. In Perl, even my simple (42 + "foo") example results in "subtle loss of information."
Sure, but I don't call "+" addition, it's just Perl's "plus operator" which happens to be defined over numbers and strings.
Personally, I don't see why every language is trying to copy Haskell's monads. A monad is not some deeply important concept, it's just an abstraction that happened to be very useful in the context of Haskell's type system. Without Haskell's type system, it is not quite as useful, and it's possible that other abstractions would be better.
I prefer to disagree. Monads are an important concept [1], that crop up in a lot of different places. (Or express differently: That help to better organize your code in a lot of situations.)
Functors and pointed functors and arrows are also quite important.
Sure, but I don't call "+" addition, it's just Perl's "plus operator" which happens to be defined over numbers and strings.
Personally, I don't see why every language is trying to copy Haskell's monads. A monad is not some deeply important concept, it's just an abstraction that happened to be very useful in the context of Haskell's type system. Without Haskell's type system, it is not quite as useful, and it's possible that other abstractions would be better.