Look through type synonyms when deciding if something is a type literal.
authorIavor S. Diatchki <iavor.diatchki@gmail.com>
Fri, 15 Feb 2013 17:40:35 +0000 (09:40 -0800)
committerIavor S. Diatchki <iavor.diatchki@gmail.com>
Fri, 15 Feb 2013 17:42:06 +0000 (09:42 -0800)
commitbc00d9016568baa51bb9dff588d8d27021808c75
treeb96f302d16954b8fb164fb8a04459f7e061357f1
parented2108267b93e6abd769192bdc8fe86cefef7a70
Look through type synonyms when deciding if something is a type literal.

This is needed to make things like this work:

type N = 9
myValue = fromSing (sing :: Sing N)

If we don't look trough the synonym, we get an error that `SingI N` can't
be solved.
compiler/types/Type.lhs