good code for case in state monade
remove unfolding of iterator
change the compilation of primitive
indentation + ArrayCreate