Wrote this to reduce boilerplate when calling a function with a nullable parameter. Language is Dart. I like how concise it is but it feels weird to override []. Would you be okay with this?
extension CallMaybe<R, T> on R Function(T t) {
R? callMaybe(T? t) => switch (t) {
null => null,
T t => this(t),
};
R? operator [](T? t) => callMaybe(t);
}
void example() {
int? n;
math.sqrt[n];
}


I don’t think so, the null aware operator doesn’t rescue the nullable out of the parameter list.