to use procedural code in templates. Cannot have a static_assert(false) in a template. Got into a tizzy about integer types, instead of cheerfully casting anything to anything.