I know its picky, but this tryRequire method is defined after it has been used. While this isn't a problem with JS, it is with readability. Could you please move this up above to line 19?