extension LetExtension on T { R let(R Function(T) block) { return block(this); } }