Test-only values

I’ve worked around this situation once or twice before - I used this strategy, based on your example:

module Role exposing (Role, adminToBool, userToBool)

type Role = Admin | User

adminToBool: (Role -> Bool) -> Bool

userToBool : (Role -> Bool) -> Bool