Because git2go already had a function called populateCheckoutOpts which checks for opts to be nil, so I followed that pattern of allowing these to be nil.