Checking the let expression in full can break sharing when unifying the types, and it's unnecessary because we've already checked the type of the scope unifies with the expected type. Fixes #63