Decouple `PolicyWonk.Policy` from `Plug.Conn`
In my Phoenix apps I differentiate between business logic that's web-agnostic, and logic that's web-aware and that depends on web building blocks such as Plug.Conn. This is also the approach that Phoenix proposes by default when you create a new project.
In that world, it'd be very useful if PolicyWonk.Policy was web-agnostic too. According to the documentation, PolicyWonk.Enforce is the module that webifies a policy, but the PolicyWonk.Policy is already coupled to web through the function policy_error, which I'd expect to be a requirement of Policy.Enforce and not PolicyWonk.Policy. Is this a change you'd accept in the project? If so, I'd be happy to make the contribution with any necessary guidelines.
Thanks in advance :)