move <:, lub and glb implementations into separate semantic object
wrap typecheck env into case class
simplify model to only have wildcard imports
proper equivalent of renamings