///|
#callsite(autofill(loc))
pub fn[T] abort(msg : String, loc~ : SourceLoc) -> T {
  println("Aborted at \{loc.to_string()}: \{msg}")
  @builtin.panic()
}

///|
#callsite(autofill(loc))
pub fn[T] panic(loc~ : SourceLoc) -> T {
  println("Panic at \{loc.to_string()}")
  @builtin.panic()
}