anchor.diff:          Statement.expr(callSuper args)
   
       let makeClassConstructor (args: Arguments) (isOptional: bool) body =
  -        // printfn "makeClassConstructor: %A" body
  +        // printfn "makeClassConstructor: %A" (args.Args, body)
           let name = Identifier("__init__")
           let self = Arg.arg("self")
  -        let args =
  +        let args_ =
               match args.Args with
               | [ _unit ] when isOptional ->
                   { args with Args = self::args.Args; Defaults=[ Expression.none ] }
               | _ ->
                   { args with Args = self::args.Args }
   
  -        match body with
  -        | []
  -        | [ Statement.Pass ] -> []
  -        | _ -> [ Statement.functionDef(name, args, body = body, returns=Expression.none) ]
  +        match args.Args, body with
  +        | [], []
  +        | [], [ Statement.Pass ] -> [] // Remove empty `__init__` with no arguments
  +        | _ -> [ Statement.functionDef(name, args_, body = body, returns=Expression.none) ]
   
       let callFunction r funcExpr (args: Expression list) (kw: Keyword list) =
           Expression.call(funcExpr, args, kw=kw, ?loc=r)
  
positive.code:         else
              Expression.subscript(name, Expression.tuple typeParamInst)
  
      let typeAnnotation (com: IPythonCompiler) ctx (repeatedGenerics: Set<string> option) t : Expression * Statement list =
          let getNumberKindName kind =
              match kind with
  
negative.code: 
          let numberInfo kind =
              Expression.name (getNumberKindName kind)
          let genericTypeAnnotation name genArgs =
              let resolved, stmts = resolveGenerics genArgs None
              typingHint com ctx name resolved, stmts
  