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}};