Ah the classic problem. Someday we'll get our shit together in Haskell land and just blow away these awful protype/production dicotomies.
To be we absolutely need static types and super high level stuff to both:
- keep the code closer to it's purpose
(e.g. do linear algebra and proof of why this program does the stats you want it to together)
- be super architecture agnostic
(With lambda generalized to arbitrary categorizes we can just elaborate to Vect and fuse functional pipelines with matrix multiplication).