in reply to Devel::Cover and impossible codepaths

No idea, but using one of the following would satisfy Devel::Cover:
my $var = $self->{default_foo}; $var = $opts->{foo} if $opts->{foo};
my $var = $opts->{foo} ? $opts->{foo} : $self->{default_foo};

Devel::Cover doesn't seem to recognize the common idiom of using "||" where only the LHS is part of the condition.