Comparing his approach vs yours I can't help but think a: birthdays mangle wax is easier to remember than that list.
return definitions.get(candidate) != null;
vs foreach c in definitions(candidate.charAt(0)) {
if c == candidate.charAt(1)) return true;
}
return val;
That leaves aside the general usefulness of knowing the definitions of words.