TODO: remove all unreferenced files TODO: Finish resolving statically known types of values TODO: Type inference