Felix's explanation (from personal communication) added by sjamaan on Sat Jul 7 14:03:54 2012
> Hi, Felix! > > I was wondering what exactly the "number" type in the types database > represents. Originally I thought this was similar to (or float fixnum), > but that doesn't seem to be the case according to the comment in types.db It is mostly similar, one just has to make sure "fixnum" doesn't match "number" when specializing. The matching algorithm is not symmetric (commutative?): an argument of type number may not match a specialization of type fixnum. I think "(or fixnum flonum)" would be handled ok (matching a specialization argument with a union type will only succeed when all variants match) - this may be a leftover from older scrutinizer versions.