Strange error in p_init_cpu.nim depending on module structure
I'm not sure if this a general Nim bug or specific to Arraymancer. I was restructuring a project and suddenly Arraymancer can't call `toTensor` anymore. Example to reproduce:

```nimrod
# file a.nim (data structure) 
import arraymancer

type
  TypedCol*[T] = object
    data*: Tensor[T]
```

```nimrod
# file b.nim (constructors)
import a
import arraymancer

proc toColumn*[T](s: seq[T]): TypedCol[T] =
  TypedCol[T](data: s.toTensor)
```

```nimrod
# file c.nim (e.g. client code)
import a
import b

proc getColumn(): TypedCol[int] =
  toColumn(@[1, 2, 3])
```

Error:

```
c.nim(6, 11) template/generic instantiation from here
b.nim(6, 22) template/generic instantiation from here
/home/fabian/github/Arraymancer/src/tensor/init_cpu.nim(103, 14) template/generic instantiation from here
/home/fabian/github/Arraymancer/src/tensor/private/p_init_cpu.nim(41, 10) Error: attempting to call undeclared routine: 'data='
```

When putting all the code in one file everything works fine. Is this a Nim bug or am I missing something?