module Stdlib.Trait.Partial;

import Stdlib.Data.String.Base open;
import Stdlib.Debug.Fail as Debug;

trait
type Partial :=
  mkPartial@{
    fail : {A : Type} -> String -> A;
  };

open Partial public;

runPartial {A} (f : {{Partial}} -> A) : A := f {{mkPartial Debug.failwith}};