use copy.deepcopy instead of array on list of arrays for expectationvalues (mc_alg_output), to avoid loss of type information if the list of expectation value operators contains both hermitian and nonhermitian operators
cleanup and restructured code in expect: split big function into two smaller, for increased clarify and to avoid doing type checks multiple times