But there are some it doesn't catch. This is a valid argument:
All animals live on Mars.
All humans are animals.
Therefore, all humans live on Mars.This is what you meant to say:
Suppose all animals live on mars.
Suppose all humans are animals.
Therefore, if all animals live on mars, then all humans live on mars.
This argument passes the type-checking test, and is indeed valid.> That is not a valid argument, because all animals do not live on mars
It would be more accurate to say that it is not a sound argument because all animals do not live on mars. Validity relates to whether the conclusions follow from the premises, not whether the premises are true. (There are more constraints than that, but that's the basic version.)
Our strict types are Fact, Hypothetical, and Implication. It is only valid to use possibly unsound premises if you admit their type as Hypothetical and not Fact. If our argument includes premises of type Hypothetical then it is only valid to make conclusions of type Implication, which have the form "If <Hypotheticals are True> then <Fact>."
Disguising Hypothetical-type premises as Fact-type, and using that to draw conclusions of type Fact instead of type Implication is how people create strawman arguments in bad faith, and can be prevented at the validity-checking phase by enforcing strict typing.
You only need to be able to understand a valid argument. The problem is that everyone will evaluate "valid" by their own beliefs and worldview.