Currently it seems all python type-checkers seem to have some limitation regarding either __new__ overloads or type.__call__ overloads.
see: #435
This issue tracks if we can come up with a better way to overload the constructor thats supported by all typecheckers.