make a generalized desire which is a callable with the following form
class Desire: Callable[[State, Action, State], bool]
e.g.
def my_desire(from_state, action, to_state) -> bool:
...
we could add helpers for simple cases, e.g.
def any_transition_combo(from_states: Sequence[State], actions: Sequence[State]) -> Desire: ...
def transition_pairs(from_to_state: Sequence[Tuple[State, State]]) -> Desire: ...
make a generalized desire which is a callable with the following form
e.g.
we could add helpers for simple cases, e.g.