improve normalize by reducing merge & isPlainObject call #17