See StronglyTyped and StronglyTypedWithoutLoopholes. See also StrongKeyboardTyping.