Be more lenient about instantiation keys

caps vs desired_capabilities - now, both are valid, and we'll croak
unless we have at least one.
Fix defaulting for type parameter