• Joachim Breitner's avatar
    Roleify TcCoercion · 9d643cf6
    Joachim Breitner authored
    Previously, TcCoercion were only used to represent boxed Nominal
    coercions. In order to also talk about boxed Representational coercions
    in the type checker, we add Roles to TcCoercion. Again, we closely
    mirror Coercion.
    
    The roles are verified by a few assertions, and at the latest after
    conversion to Coercion. I have put my trust in the comprehensiveness of
    the testsuite here, but any role error after desugaring popping up now
    might be caused by this refactoring.
    9d643cf6
Coercion.lhs 70.2 KB