programInternal start machineState labelState = runIdentity $ execStateT (
                                                                execStateT (runContT start (return . id)) labelState
                                                              ) machineState
programInternal start machineState labelState = runIdentity $ execStateT (
                                                                execStateT (runContT start (return . id)) labelState
                                                              ) machineState
programInternal start machineState labelState = runIdentity $ execStateT (
                                                                execStateT (runContT start (return . id)) labelState
                                                              ) machineState