lecture: lecture 16: before monad class