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.