Something similar is true for most statically typed languages.
If you write a C library, nothing stops someone from writing an assembly-language program that calls functions in your library with the wrong types.