moved fusion rules to Types