(bind-func mprint
  (lambda (m:double* nrows:i64 ncols:i64)
    (let ((i 0) (j 0))
      ;;(printf "[")
      (dotimes (i nrows)
        (printf "[")
        (dotimes (j ncols)
          (printf " %f" (pref m (rowmaj_idx_2D i j ncols))))
        (printf " ]\n"))
      ;;(printf "]")
      void)))