When using the @TupleConstructor with the static type checking, it doesn't like when a constructor without all the fields is used.
Consider the following example:
The type checker complains because it could not find a zero-arg constructor:
But actually, @TupleConstructor allows to use less args than all the declared.
Person can be instantiated with new Person("Guillaume", "Paris"), new Person("Guillaume"), or even new Person()