例えばこの例は間際らしい let capitalize = function | 'a' .. 'z' as letter -> Char.uppercase letter | 'A' .. 'Z' as letter -> letter | _ -> failwith "Not a valid letter"
これを、こう書き換えても問題ない let capitalize = function | 'a' .. 'z' as lett -> Char.uppercase lett | 'A' .. 'Z' as lette -> lette | _ -> failwith "Not a valid letter" 何が言いたいかと言うと、初見の場合as letter が何か特別な予約語に思えて混乱する(letterの綴りが省略されていないため) で、下のように書き換えて動作を確認した