def METHOD_NAME(nullable_type_target, nullable_ltype, has_nans):
    col = nullable_type_target(ltype=nullable_ltype, has_nans=has_nans)
    downcast_ltype = _determine_downcast_type(col)
    # Confirm we're setting the downcast type correctly according to whether nans are present
    if has_nans:
        assert downcast_ltype in ("AgeFractional", "Double", "Categorical")
    else:
        assert downcast_ltype in ("Age", "Integer", "Boolean")
    # Confirm we're choosing the correct downcast types for the original nullable type
    if nullable_ltype == "BooleanNullable":
        assert downcast_ltype in ("Boolean", "Categorical")
    elif nullable_ltype == "IntegerNullable":
        assert downcast_ltype in ("Integer", "Double")
    elif nullable_ltype == "AgeNullable":
        assert downcast_ltype in ("Age", "AgeFractional")