Module Util__.Combinator
val flip : ('a -> 'b -> 'c) -> 'b -> 'a -> 'cval id : 'a -> 'aval const : 'a -> 'b -> 'aval curry : (('a * 'b) -> 'c) -> 'a -> 'b -> 'cval uncurry : ('a -> 'b -> 'c) -> ('a * 'b) -> 'c
val first : ('a -> 'b) -> ('a * 'c) -> 'b * 'cval second : ('a -> 'b) -> ('c * 'a) -> 'c * 'bval both : ('a -> 'b) -> ('a * 'a) -> 'b * 'bval pair : 'a -> 'b -> 'a * 'bval swap : ('a * 'b) -> 'b * 'a
val (<.) : ('a -> 'b) -> ('c -> 'a) -> 'c -> 'bval (<..) : ('a -> 'b) -> ('c -> 'd -> 'a) -> 'c -> 'd -> 'bval (<...) : ('a -> 'b) -> ('c -> 'd -> 'e -> 'a) -> 'c -> 'd -> 'e -> 'b
val (>>=) : 'a option -> ('a -> 'b option) -> 'b optionval let* : 'a option -> ('a -> 'b option) -> 'b optionval (<$>) : ('a -> 'b) -> 'a option -> 'b optionval let+ : 'a option -> ('a -> 'b) -> 'b optionval (<|>) : 'a option -> (unit -> 'a option) -> 'a optionval one_of : ('a -> 'b option) -> 'a list -> 'b optionf を適用してどれか一つでも Some を返したらそれを返して終わりにする