Implement `push` of custom arity
Implement `~>` of all possible args types: `Rule`, `Unit` and else

Pass all tests