Modified the 'Dao.Rule.Rule' module so that the 'Dao.Rule.QueryState' is no longer able to be directly manipulated by 'Control.Monad.State.state' or 'Control.Monad.Reader.local'. I think it makes more sense to leave updating of the 'Dao.Rule.QueryState' internally, it might make things confusing if 'Dao.Rule.Rule' functions could arbitrarily declare their own score, rather than letting the 'Dao.Rule.Rule' internals keep track objectively. The 'Dao.Rule.QueryState' API is still exported for use with 'Dao.Rule.limitByScore', but usually programmers should just use 'Dao.Rule.bestMatch'.
Modified the 'Dao.Rule.Rule' module so that the 'Dao.Rule.QueryState'
is no longer able to be directly manipulated by
'Control.Monad.State.state' or 'Control.Monad.Reader.local'. I think
it makes more sense to leave updating of the 'Dao.Rule.QueryState'
internally, it might make things confusing if 'Dao.Rule.Rule'
functions could arbitrarily declare their own score, rather than
letting the 'Dao.Rule.Rule' internals keep track objectively. The
'Dao.Rule.QueryState' API is still exported for use with
'Dao.Rule.limitByScore', but usually programmers should just use
'Dao.Rule.bestMatch'.

printedheart/Dao