All the types that implement this protocol.
t() :: term()
is_lazy(term()) :: boolean()
represent(term(), boolean()) :: term()