sig
  exception SoftError of string
  exception HardError of string
  val error : string -> 'a
end