Support writing needed extension types

Right, removing the pre-conditions and calling `(boolean critical)` seems more idiomatic to me.