Comment from the peanut gallery: the pattern I see most often is to only check for nil when nil is explicitly allowed/encouraged as part of the API. Otherwise, failing through panic seems standard.