> if MyType.ConstructorA(a):
> ...
> elif MyType.ConstructorB(a):
or even something like
> with MyType.ConstructorA(a) as b, c:
> else with MyType.ConstructB(a) as d:
a "with/else with" construct would be a fairly straightforward addition to Python's "context manager" interface.