Parallel functional arrays
Monads for functional programming