Make Literals and LiteralPatterns covariant
Handle LiteralPatterns correctly everywhere
Condition for CaseClassPattern without subpatterns is equality