PostgreSQL functions allow their parameters to have a default argument. Functions with coeffects, such as time, are thus testable yet don't require their clients to provide the implicit parameter.

create function my_func(beginning_of time default now())