Only the output of a moore machine depends on it’s current state. In contrast with mealy where the output can depend on both the current state and the input. In both cases you have an input and an output that is possibly distinct from the state.
This can be soon in the clash moore function as it takes a function of type s -> o. It takes the current states and produces the output. In your version of moore the output is the state and there is no input. This is way more restrictive then a moore.