Remove dependency on LANGUAGE ImpredicativeTypes
Separate into parser/lexer modules