gaurd against edge cases with early warnings

cc @Matt-Esch these are two new gaurds in prefix() to ensure
  that callsites to it in an application are well defined.

cc @sh1mmer