///|
#inline
#callsite(autofill(loc))
pub fn[T] ensured(
  val : T,
  cond : Bool,
  error? : Error,
  msg~ : String,
  loc~ : SourceLoc,
) -> T raise SourcedError {
  if !cond {
    raise SourcedError(error~, loc~, msg~)
  }
  return val
}