move tests where they belong
Warn on == between incompatible types
staged function lint draft