18:41:40Bikeprimitive typeq works and is slightly faster than predicates (when applicable). however any advantage with typep is negated by the fact my expansion involves a LET to avoid multiple evaluation, which bclasp has as an allocation i guess. oh well
18:43:08Bike(negated in bclasp, i mean, in cclasp it'll be fine)
19:20:07Bikeone little sticking point with changing cleavir type inference is that i can't determine the type of constants
19:20:40Bikeand not avoiding checks because you have a literal instead of a variable with a declared type would be pretty silly
19:31:57Bikewell. if i have (typep x 'list) that turns into (or (if (typeq x cons) t nil) (eq x nil)). type inference and constant propagation are pretty much the same thing.
19:32:04Bikeand then (the list x) has to do something too