Note that you can use laser's `forEach` without Arraymancer on any type as long as you implement the following routines: [https://github.com/numforge/laser/tree/master/laser/strided_iteration](https://github.com/numforge/laser/tree/master/laser/strided_iteration)
* `rank`, `size` * `shape`, `strides` * `unsafe_raw_data` * `is_C_contiguous` just copy-paste or submodule into you code, Laser is more of a research repo right now. Compatibility with Arraymancer will be much easier once the following PR is merged, and Arraymancer can use raw buffers coming from any libraries (including Numpy) without copy: [https://github.com/mratsim/Arraymancer/pull/420](https://github.com/mratsim/Arraymancer/pull/420) It's unfortunately blocked by a Nim bug in the GC.
