> Are there ever going to be situations where the description is returning nil?

When the commit doesn't have a description. "title" is considered the first line of a commit message up until an empty newline. "description" is considered being anything after an empty newline.

> Would it be possible to make description always return a string object?

I'm not sure that's the most correct. Returning nil or an empty string when there's no description available.