completed functions and function generator

Took a little longer than expected (many failed attempts at currying and deciding between loops or forEach), but was generally fine. I tried to implement a printing function that would preserve the case of the original comment after censoring, but realized it was 930 and stopped to make dinner.