ensure provided opts take precedent over defaults