Since the new where syntax has depreciated the parametric method syntax that means it can be used for something else. I propose the following

```
foo{T::Number}(x::T,y::T} = ...
```

as syntactic sugar for

```
let T=Number
foo(x::T,y::T) = ...
end
```

This syntax can be very helpful when you have many variables with the same abstract type (especially if the abstract type has a long name).

Note that this is different than the familiar the `foo(x::T,y::T) where T <: Number`

syntax

This lets `T`

*be* a certain type and not just a *subtype* of one. For instance in the proposed syntax `foo(1, 1.0)`

would work.

Edit:

Alternatively, a syntax that tells what a type *is* that wouldn’t use the parametric method syntax could be

```
foo(x::T,y::T) where T::Number = ...
```