Widget withFeatures(List<Feature> feature, {required Widget child}) { return feature.reversed.fold<Widget>( child, (acc, f) => withFeature(f, child: acc), ); }