diff --git a/src/FSharpPlus/Control/Functor.fs b/src/FSharpPlus/Control/Functor.fs index f33218683..7534d5193 100644 --- a/src/FSharpPlus/Control/Functor.fs +++ b/src/FSharpPlus/Control/Functor.fs @@ -233,10 +233,10 @@ type Zip = call (Unchecked.defaultof, source1, source2) : '``ZipFunctor<'T1 * 'T2>`` static member inline InvokeOnInstance (source1: '``ZipFunctor<'T1>``) (source2: '``ZipFunctor<'T2>``) : '``ZipFunctor<'T1 * 'T2>`` = - ((^``ZipFunctor<'T1>`` or ^``ZipFunctor<'T2>`` or ^``ZipFunctor<'T1 * 'T2>``) : (static member Zip : _*_ -> _) source1, source2) + ((^``ZipFunctor<'T1>`` or ^``ZipFunctor<'T2>``) : (static member Zip : _*_ -> _) source1, source2) -type Zip with - static member inline Zip ((_: ^t when ^t : null and ^t: struct, _: ^u when ^u : null and ^u: struct, _output: ^r when ^r : null and ^r: struct), _mthd: Default1) = id +type Zip with + static member inline Zip ((x: '``ZipFunctor<'T1>`` , y: '``ZipFunctor<'T2>`` , _output: '``ZipFunctor<'T1 * 'T2>`` ), _mthd: Default2) = ZipApply.Invoke (Map.Invoke (fun a b -> (a, b)) x) y static member inline Zip ((x: '``ZipFunctor<'T1>`` , y: '``ZipFunctor<'T2>`` , _output: '``ZipFunctor<'T1 * 'T2>`` ), _mthd: Default1) = Zip.InvokeOnInstance x y : '``ZipFunctor<'T1 * 'T2>`` #endif