Refactoring in TcGadt