val (let.bind_data) : ('a, 'a data, 'b) bindval (let.bind_shortest_data) : ('a, 'a data, 'b, 'b data, 'c) bestval (let.bind_longest_data) : ('a, 'a data, 'b, 'b data, 'c) bestval return_match : ('a, 'a) returnval (let.bind_match) : ('a, 'a, 'b) bindval (let.map_match) : ('a, 'a, 'b, 'b) mapval (let.bind_shortest_match) : ('a, 'a, 'b, 'b, 'c) bestval (let.bind_longest_match) : ('a, 'a, 'b, 'b, 'c) best