Options(this ISpawnable spawnable, Func <SpawnOptions, SpawnOptions> function) { if (spawnable is null) { throw new ArgumentNullException(nameof(spawnable)); } if (function is null) { throw new ArgumentNullException(nameof(function)); } return(spawnable.WithOptions(function(spawnable.Options))); }