21:26:46stassats`type checks also have side effects
21:31:26mrcomAs a user, I'd be ok with you optimizing it out in high-optimization mode. If I'm concerned about the compiler letting something slide I'll manually check it anyway.
21:32:43mrcomWhole point of safety 0 is "assume the user code isn't broken".
21:34:36mrcomAlthough I guess the chain of effects from a violated assumption can be ugly to debug.
21:40:23mrcomAnother thought from the peanut gallery--it would actually be more useful to me to be told "you've got technically useless code here" than to do the defacto type checking.
21:49:51stassats`that's about the number of values
21:50:14mrcom"Type assertion too complex to check efficiently:~
21:52:17mrcomAlthough it's almost always the set of possible return values, not the assertion, that's messed up. So maybe not that one either.
21:57:35mrcomAnyway, I almost always run speed 1 safety 3 and fix *any* notes, so skipping checks in higher optimzation settings is pretty safe. For me.
22:15:56mrcomOn the other hand, if a customer told me "Don't bother checking this input. It takes too long." I'd be inclined to stare at them for a while, then tell them "No."