But why, `Chan[T]` already has reference semantics so you can pass it as is through over Chan[T]
Otherwise what you asked to do is the following (but i see no point in actually
doing it)
let chanPtr = createShared(Chan[int])
chanPtr[] = newChan[int]()
Run
