This formalizes our strategy for suppressing type errors, and fixes the weirdness of `any` being both a top and bottom type.