map123_inline: result cannot have a type different from the first tensor
`map_inline`, `map2_inline` and `map3_inline` have unconsistent return type:
  - T -> T
  - (T, U) -> T
  - (T, U, V) -> T

https://github.com/mratsim/Arraymancer/blob/5e9cf21c5b7b8355fee37fd502bd439642b66576/src/tensor/higher_order_applymap.nim#L39-L75

Compared to `map, map2`:
  - T -> U
  - (T, U) -> V

https://github.com/mratsim/Arraymancer/blob/5e9cf21c5b7b8355fee37fd502bd439642b66576/src/tensor/higher_order_applymap.nim#L78-L98

https://github.com/mratsim/Arraymancer/blob/5e9cf21c5b7b8355fee37fd502bd439642b66576/src/tensor/higher_order_applymap.nim#L155-L183

## Solutions:

1. Document this
2. Or allow the result to have a different return type, the issue becomes how to keep an ergonomic call syntax for this:
    `result = map2_inline(tmp_a, tmp_b, x == y)`
    We can do `type(op)` but it is needed before `newTensorUninit`

