F # - Как мне расширить тип с помощью get_Zero, чтобы я мог использовать существующий тип в общем?

Я пытаюсь сделать следующее:

let c x = System.Numerics.Complex(x, 0.0)
let sum = [c 1.0; c 2.0] |> List.sum

Но я получаю эту ошибку:

The type 'System.Numerics.Complex' does not support the operator 'get_Zero'

Я прочитал правила для расширений типов, изhttps://msdn.microsoft.com/en-us/library/dd233211.aspxи попробуйте сделать следующее:

module ComplexExtension =
    let c x = System.Numerics.Complex(x, 0.0)

    type System.Numerics.Complex with
        // I also tried a bunch of other ways of writing these
        // as static or instance members, but nothing worked
        static member Zero = c 0.0
        static member One = c 1.0

open ComplexExtension

let sum = [c 1.0; c 2.0] |> List.sum

Я все еще получаю эту ошибку.

Можно ли расширить тип с помощью оператора get_Zero? Или я должен создать свой собственный тип обертки вокругSystem.Numerics.Complex и переопределить все операторы, если я хочу, чтобы он делал другие вещи, которые делают комплексные числа?