System F isn't consistent as a logic (pretty much precisely because it has general recursion). In languages with general recursion, you can do things like
(Haskell)
anyType :: a
anyType = anyType
or(Rust)
fn any_type<T>() -> T {
any_type()
}