That's too bad, because in the real code this example was derived from I can't have type inference call the right constructor as there are two constructors with the same run-time argument types. I'll put in a bug report.