this always needs to be an arrayref
fusions can be undef too