Handle TypeVars

Previously, we would write the type of:

```julia
Array{Float64}[]
```

as:

```julia
Array{Float64,N}
```

which isn't valid Julia syntax. Now we instead write:

```julia
Array{Float64,TypeVar(:N)}
```

which is ugly but can be unambiguously eval()ed directly.