Clean checking : add abstraction to avoid futur conflict and remove etection of polymorphic var

Merged Pierre-Emmanuel Wulfman requested to merge clean_checking into dev


Do some clean-up in the checking file :

  • reorder function to follow the same order as other passes
  • add abstraction (self function) for recursive calls to avoid further bugs
  • remove destruct for all as there is no polymorphic var anymore