You can think of returna function that creates pending values. And it really plays a role when you define it in the context of another deferred value. We pass to the example. Suppose we have a function that reads an input channel of form char and uppercase.
let read_uppercased chan =
Reader.read_char >>= function
| `Eof -> return `Eof
| `Ok ch -> let ch = Char.uppercase ch in
return (`Ok ch)
return. , "", eof . ,
let return_eof = return `Eof
.
. , - (, , ). , , . , , bind, , return ... , , . .
, , , .