rename apply to (uniqueish name) apatch

also add exes to gitignore, for aesthetics' sake
initial commutation
refactor apply to have a `yield` fn