Where
questions
Hi! I spent some time today reading the upcoming 0.6 documentation and had a few questions while trying to understand the upcoming new syntax for parametric types.

What is the difference, if any, between
typealias Vector{T} Array{T,1}
andconst Vector = Array{T, 1} where T
? 
Of the following two forms, why can you say b). but not a).?
a).
Tuple{X, Y} where X <: Real where Y <: Vector{X}
b).
Tuple{X, Y} where Y <: Vector{X} where X <: Real

What is the difference, if any, between
f{T}(x::T) = x
andf(x::T) where T = x
?