Would you mind reversing this logic? Because traditionally in array_merge the last one wins, same in JS with _.extends and similar. So I think it'd be more natural if the last extends would override the previous ones. Please tell me if that's bullshit :)