sig val syscall : (unit -> 'a) -> ('a, exn) Core.Std.Result.t end