Current uses of explicit and implicit `super` in constructors are not
checked.
1. this series add required static verification (in `typing` and
`auto_super_int`) on the super init call (and remove two TODO).
2. the correct argument passing is implemented in the engines for the
super init calls
3. assertions are added in engines to check that the number of arguments
matches the number of parameters
4. tests are also provided (or updated)
This series is required to fix the current implementation so that the
implementation of the new style constructors can go on.