^a or ^b字面意思是" ^a或^b".
冒号:意味着"有"或"包含",取决于你如何看待它.
所以整个表达式(^a or ^b) : (static member op_Implicit : ^a -> ^b)意味着"名为"的静态成员op_Implicit"具有类型^a -> ^b并且在任何类型^a或类型上定义^b".整个表达式最终评估为类型的函数^a -> ^b.
然后,x放置在该表达式右侧意味着"函数应用程序",就像通常的F#语法一样.
所以整个过程一起意味着"在类型^a或类型上^b,找到一个名为"op_Implicit"的静态成员,它具有类型^a -> ^b,并将该成员应用于参数x".