foo(ClassType self, Tensor x, (Tensor, Tensor) y) -> (Tensor, Tensor) foo(ClassType self, Tensor x, (Tensor, Tensor) y) -> (Tensor, Tensor) foo(ClassType self, string x, (Tensor, Tensor) y) -> (string, string) foo(ClassType self, int x, (Tensor, Tensor) y) -> (int, int) foo(ClassType self, bool x, (Tensor, Tensor) y) -> (bool, bool) foo(ClassType self, float[] x, (Tensor, Tensor) y) -> (float[], float[]) foo(ClassType self, int[] x, (Tensor, Tensor) y) -> (int[], int[]) foo(ClassType self, int[] x, (Tensor, Tensor) y) -> (int[], int[]) foo(ClassType self, int? x, (Tensor, Tensor) y) -> (int?, int?)