Using Set::merge better than array_merge

With array_merge inputDefaults overwritten if I set sub-array options.

For example: I want to change all form input error message from div to label and change the class name from error-message to error, this can happen by set value to Form::create(Null, array('inputDefaults' => array()))
But what if I want to set custom attr for each field in the form??