T badArgument<T>({value, String? name, String? message}) => throw ArgumentError.value(value, name, message);