mkinitrd uses dmsetup if it's present, but doesn't require it. If dmsetup is absent, mkinitrd silently spits out an initrd which isn't going to work. Although there's an argument to be made for _not_ requiring device-mapper stuff, on the basis that some people don't need it, in practice nash has a requirement for at least the _libraries_ anyway so we might as well just pull in the tools too.
current mkinitrd Requires device-mapper, which contains mdadm.