apply-generic with type coercion
reformat