tcStmtAnn (AssertAnn l isLeak e) = tcStmtBlock l "annotation statement" $ insideAnnotation $ do
    (isLeak',e') <- checkLeakMb l isLeak $ withKind FKind $ tcAnnGuard e
    return $ AssertAnn (Typed l $ typed $ loc e') isLeak' e'
tcStmtAnn (AssertAnn l isLeak e) = tcStmtBlock l "annotation statement" $ insideAnnotation $ do
    (isLeak',e') <- checkLeakMb l isLeak $ withKind FKind $ tcAnnGuard e
    return $ AssertAnn (Typed l $ typed $ loc e') isLeak' e'
tcStmtAnn (AssertAnn l isLeak e) = tcStmtBlock l "annotation statement" $ insideAnnotation $ do
    (isLeak',e') <- checkLeakMb l isLeak $ withKind FKind $ tcAnnGuard e
    return $ AssertAnn (Typed l $ typed $ loc e') isLeak' e'