allow callable defaults