def dist(a, b):
    return sum((i-j)**2 for i, j in zip(a, b))
def __init__(self, choices=None, optional=False):
        super().__init__(
            minimum=0, maximum=2 ** 16 - 1, choices=choices, optional=optional
        )