replacer() calls fns and values set correctly