Это не совсем ответ, потому что Роберт прав. Но похоже, что вы работаете с рядом функций, поэтому вы можете написать это так:
let Calculate input =
let calc = function | [f] -> f input | fl -> fl |> List.map ((|>) input) |> List.sum |> (fun s -> s / fl.Length)
if input > 0 && input < 5
then calc [CalculateA; CalculateB]
else calc [CalculateC]
Вы можете разложить на что-нибудь с такой подписью: ((int -> int) list) -> ((int -> int) list) -> (int -> bool) -> int -> int
и затем построить свою функцию, применив первые 3 параметра.