различных класификаций систем типов много, каждая из них ставит одни системы типов в сильную позицию, а другие в слабую
А все дело в том, что явная типизация будет более сильной чем неявная, статическая более сильная чем динамическая, soundness более сильная чем completeness, и т.д.
In 1974, Liskov and S. Zilles defined a strongly-typed language as one in which "whenever an object is passed from a calling function to a called function, its type must be compatible with the type declared in the called function."[3] In 1977, K. Jackson wrote, "In a strongly typed language each data area will have a distinct type and each process will state its communication requirements in terms of these types."
Languages are often colloquially referred to as strongly typed or weakly typed. In fact, there is no universally accepted definition of what these terms mean. In general, there are more precise terms to represent the differences between type systems that lead people to call them "strong" or "weak".
Напишите, что хотите сделать, а не как хотите, тогда быть может станет проще помочь.