For this reason, modules that would have this ambiguity are suffixed with Module within Swift Numerics: import ComplexModule // I know I only ever want Complex<Double>, so I shouldn't need the generic parameter. typealias Complex = ComplexModule.Complex<Double> // But I can still refer to the generic type by qualifying the name if I need it occasionally: let a = ComplexModule.Complex<Float>
Module
suffix をつける派らしい。