Multiply complex tensors with float scalars and vice versa
I'm trying to use nim and arraymancer for a scientific project (and teach myself nim in the process). I stumbled across some inconsistency and I'm not sure if this is intentional (and if it is why it is like that). 

Essentially I'm trying to multiply a float tensor with a complex number to generate at complex tensor or multiply a complex tensor with a float scalar, both of these fail with a type mismatch error, while multiplying float and complex scalars seems to be valid.
Is this intentional? I know I can work around this by casting, but it becomes cumbersome very quickly.

Minimal test case for illustration:
```
import math, arraymancer, sequtils, complex, sugar

const I = complex64(0,1)

var
  N : int = 2^10
  tmax : float
  x : Complex[float64]
  t = newTensor[float]([N])
  g = newTensor[Complex[float64]]([N])
  gg = newTensor[Complex[float64]]([N])

tmax = 10
t = arange(0.0, tmax)
g = I * t  # does not work
g = I * t.astype(Complex[float64]) # works
x = tmax*I  # works
gg  = g * tmax # does not work
```