choosing data types and functions
a data type for parallel computation
combining parallel computations