public function check(Secret $proposedPassword): array
    {
        $errors = [];
        if ($proposedPassword->length() < $this->minLength) {
            $errors['PASSWORD_TOO_SHORT'] = ['minLength' => $this->minLength];
        }

        if (in_array($proposedPassword->unveil(), $this->disallowedValues)) {
            $errors['PASSWORD_DISALLOWED'] = [];
        }

        if (null !== $this->minDiffChars && count(count_chars($proposedPassword->unveil(), 1)) < $this->minDiffChars) {
            $errors['PASSWORD_TOO_LESS_DIFF_CHARS'] = ['minDiff' => $this->minDiffChars];
        }

        return $errors;
    }