This is related to why I was saying it might be a good idea to add common in as a language, instead of implicitly assuming that AI, cyborgs, and humans can all understand each other because they all speak common, while they can't understand mice or monkeys because monkeys don't understand common.

I guess under that scheme, say_understands() would then just be responsible for the null language.