rename FreeType -> TypeVar
add option to exclude the Foundation lib
program top level structure changed to being a list of declarations