Sourceval return : 'a -> 'a option Sourceval (>>=) : 'a option -> ('a -> 'b option) -> 'b option Sourceval (>>|) : 'a option -> ('a -> 'b) -> 'b option Sourceval (let*) : 'a option -> ('a -> 'b option) -> 'b option Sourceval (let+) : 'a option -> ('a -> 'b) -> 'b option