delay parameter resolving until type is known