def dist(a, b):
    return sum((i-j)**2 for i, j in zip(a, b))
def __init__(self, optional=False, choices=None):
        self._required = not optional
        self._choices = None  # Choices doesn't make sense for secrets