Now the push action has type Void -> () when unused.

This was done because it turns out that type ()
causes problems when a different instance has
a function type.
Fixed some fold markers.
push_queue -> push
Removed redundant whitespace.
Implemented and wrote tests for FoundUsingPushMode.