added strict version of insertWith