Support optional and named arguments in constructors.