ISSUE: option::valor 和 option::or 的类型需要改造
option::or
的类型感觉在一些情况下并不符合预期,目前其类型为:
(option<T>, ()=>T)=> T
理论上此函数应该是
(option<T>, ()=>T)=> option<T>
希望统一改造两者,option::or
应该是
(option<T>, FT)=> option<T> where FT is ()=>T or T
对应的 option::valor
应该是
(option<T>, FT)=> T where FT is ()=>T or T