require forward declaration or function type
update with more thorough testing
fix failing whitespace tests
if an arg test fails, skip whitespace test