ProgLang HW3 #8

Function signature has ''b list option instead of 'b list option
ProgLang HW3 #9a, 9b and tests.

Almost done.