Refactoring suggestion

(use-modules (srfi srfi-64)
      	     (kata-driver))

(test-runner-factory (lambda () (test-runner-kata)))

(define INVALID #f)
(define LETTERS_AND_DIGITS (char-set-union char-set:letter char-set:digit))

(define (is-empty? password)
  (string-null? password))
(define (is-composed-of-letters-or-digits? password)
  (char-set<= (string->char-set password) LETTERS_AND_DIGITS))


(define (password-valid? password)
  (if (is-empty? password)
      INVALID
      (is-composed-of-letters-or-digits? password)))


(test-begin "test-suite")

(define EMPTY_PASSWORD "")
(define DUMMY_LETTER_PASSWORD "a")
(define DUMMY_LETTERS_AND_DIGITS_PASSWORD "ab12")

(test-assert "empty password"
  (not (password-valid? EMPTY_PASSWORD)))

(test-assert "one letter password"
  (password-valid? DUMMY_LETTER_PASSWORD))

(test-assert "letters and digits password"
  (password-valid? DUMMY_LETTERS_AND_DIGITS_PASSWORD))

(test-end "test-suite")