rename Opts.update to more accurate Opts.merge
Simplify API