feat(#44): merge deeply default and request options. add test coverage