``` -module(recursive_type). -export([foo/0]). -type(tree(X) :: {X,tree(X),tree(X)} | nil). -spec foo() -> tree(integer()). foo() -> nil. ```