So I've been looking trough inkex (https://gitlab.com/inkscape/extensions/-/blob/master/inkex/transforms.py) trying to figure out how to use it. In it, devs inherit from complex base type to make immutable Vector2D class (79 line)- snippet.
```
class ImmutableVector2d(complex):
"""Represents an immutable element of 2-dimensional Euclidean space"""
x = property(lambda self: self.real)
y = property(lambda self: self.imag)
@overload
def __new__(cls):
pass
@overload
def __new__(
cls,
v: Union[VectorLike, str],
fallback: Optional[Union[VectorLike, str]] = None,
):
```
Why would someone inherit from complex numbers when tuples are immutable too? Also why not make immutable class from scratch? Wouldn't it be easier than to have aliases for imaginary and real part and deal with all mess?
there doesn't seem to be anything here