Ну здравствуйте. Это как раз пример слабой типизации и неявного приведения типов
Это пример скорее просто неявного приведения типов, который, кстати, бесит. В шарпах (именно в C#, в F# такого нет) я могу написать:
1 + "1" и будет "11". Это сделали якобы для удобной конкатенации. Это работает тупо: любой тип + строка = вызов "string.Concat" (реализация, которая принимает кучу object'ов) и там есть неявный вызов "ToString()" для каждого аргумента.
Но я не думаю, что это пример слабой типизации. Это пример неявной хрени.