`module CI = Cstubs_internals`

`val posix_uname_1_uname : (_, _) CI.fatptr -> int`
`val posix_uname_2_strlen : (_, _) CI.fatptr -> int`

`type 'a result``= 'a`
`type 'a return``= 'a`
`type 'a fn``=`

`|` `Returns : 'a CI.typ -> 'a return fn`
`|` `Function : 'a CI.typ * 'b fn -> ('a -> 'b) fn`

`val map_result : ('a -> 'b) -> 'a -> 'b`
`val returning : 'a CI.typ -> 'a return fn`
`val (@->) : 'a CI.typ -> 'b fn -> ('a -> 'b) fn`
`val foreign : a b. string -> ('a -> 'b) fn -> 'a -> 'b`
`val foreign_value : a. string -> 'a Ctypes.typ -> 'a Ctypes.ptr`