Those aren't recursive because they are root level alias'. The alias don't get expanded as args in the 'ole fashioned git command:

```shell
➜  netflow git:(johnk_interesting) ✗ status
On branch johnk_interesting
Your branch is up-to-date with 'origin/johnk_interesting'.

Untracked files:
  (use "git add <file>..." to include in what will be committed)

	lib/netflow/helpers/
	test_data/contract1/tmp.txt.xz

nothing added to commit but untracked files present (use "git add" to track)
➜  netflow git:(johnk_interesting) ✗ git add test_data/contract1/tmp.txt.xz
➜  netflow git:(johnk_interesting) ✗ status
On branch johnk_interesting
Your branch is up-to-date with 'origin/johnk_interesting'.

Changes to be committed:
  (use "git reset HEAD <file>..." to unstage)

	new file:   test_data/contract1/tmp.txt.xz

Untracked files:
  (use "git add <file>..." to include in what will be committed)

	lib/netflow/helpers/
```