I tried that. The compiler didn't like it, because the INIT things are initializer expressions, not generic expressions (or whatever the right name for the distinction is).

```
../../../../ext/rugged/rugged_repo.c:316:9: error: expected expression
        *ret = GIT_CLONE_OPTIONS_INIT;
               ^
/Users/burke/github/rugged/ext/rugged/../../vendor/libgit2/include/git2/clone.h:85:32: note: expanded from macro
      'GIT_CLONE_OPTIONS_INIT'
#define GIT_CLONE_OPTIONS_INIT {GIT_CLONE_OPTIONS_VERSION, {GIT_CHECKOUT_OPTS_VERSION, GIT_CHECKOUT_SAFE_CREATE}}
                               ^
```

Even separating the declaration from the INIT doesn't work, so I need both variables.

```
../../../../ext/rugged/rugged_repo.c:317:32: error: expected expression
        clone_options.checkout_opts = GIT_CHECKOUT_OPTS_INIT;
                                      ^
/Users/burke/github/rugged/ext/rugged/../../vendor/libgit2/include/git2/checkout.h:240:32: note: expanded from macro
      'GIT_CHECKOUT_OPTS_INIT'
#define GIT_CHECKOUT_OPTS_INIT {GIT_CHECKOUT_OPTS_VERSION}
                               ^
```