Kotlin的generics从java转换而来

我在Java中有以下类:

public class Bezier<T extends Vector> implements Path {} public interface Vector<T extends Vector{} 

我有一个kotlin函数:

 fun foo(vector3:Vector3): Bezier<out Vector>?{ val vector2= Vector2(vector3.x,vector3.y) return Bezier().set(vector2) } 

它虽然工作,但我后来投了function的结果

 as Bezier 

如何编写它将返回正确types的函数?

 fun foo(vector3:Vector3): Bezier{...} 

不起作用