:- module counter.
:- pragma termination_info(counter:init((builtin:in), (builtin:out)), finite(1, [yes, no]), cannot_loop).
:- pragma termination_info(counter:init((builtin:in)) = (builtin:out), finite(1, [yes, no]), cannot_loop).
:- pragma termination_info(counter:allocate((builtin:out), (builtin:in), (builtin:out)), finite(0, [no, yes, no]), cannot_loop).
