а камло на этот случай умеет в labelled arguments. replace ~find:"qwe" ~replace:"asd" "somestring", replace : find:string -> replace:string -> string -> string. Вообще, если у функции есть аргументы с одинаковым типом, предпочитаю делать их labelled.
@kb с частичными применениями неудобняк выходит, если оно часто нужно -- суть в том, что replace ~find:"qwe" txt будет иметь тип replace:string -> string, а всякие общие функции (List.iter какой-нибудь) хотят не labelled аргумент, а обычный, и их аж коробит от метки. Поэтому либо понятный код, либо типично-функциональный. (да, я противопоставляю слегка.)