This technically works, but maybe we could find a different name for the inner `lang` var, so as to prevent shadowing?