Create Helper methods to evaluate step parameters to reduce boiler plate code

Currently steps have lots of similar boiler plate code. We should create methods to reduce this e.g.

var name = await WorkspaceName.Run(stateMonad, cancellation).Map(x => x.GetStringAsync());
if (name.IsFailure) return name.ConvertFailure<WorkspaceRequest>();

var matterId = await MatterId.Run(stateMonad, cancellation);
if (matterId.IsFailure) return matterId.ConvertFailure<WorkspaceRequest>();

var templateId = await TemplateId.Run(stateMonad, cancellation);
if (templateId.IsFailure) return templateId.ConvertFailure<WorkspaceRequest>();

var statusId = await StatusId.Run(stateMonad, cancellation);
if (statusId.IsFailure) return statusId.ConvertFailure<WorkspaceRequest>();

var resourcePoolId = await ResourcePoolId.Run(stateMonad, cancellation);
if (resourcePoolId.IsFailure) return resourcePoolId.ConvertFailure<WorkspaceRequest>();

var sqlServerId = await SqlServerId.Run(stateMonad, cancellation);
if (sqlServerId.IsFailure) return sqlServerId.ConvertFailure<WorkspaceRequest>();

var defaultFileRepositoryId = await DefaultFileRepositoryId.Run(stateMonad, cancellation);
if (defaultFileRepositoryId.IsFailure) return defaultFileRepositoryId.ConvertFailure<WorkspaceRequest>();

var defaultCacheLocationId = await DefaultCacheLocationId.Run(stateMonad, cancellation);
if (defaultCacheLocationId.IsFailure) return defaultCacheLocationId.ConvertFailure<WorkspaceRequest>();

Should be replaced with

var stepResult = await StepHelpers.RunSteps(WorkspaceName.WrapStringStream(), MatterId, TemplateId, StatusId, ResourcePoolId, SqlServerId,DefaultFileRepositoryId, DefaultCacheLocationId, stateMonad, cancellation);
            if (stepResult.IsFailure) return stepResult.ConvertFailure<WorkspaceRequest>();

var (name, matterId, templateId, statusId, resourcePoolId, sqlServerId, defaultFileRepositoryId,defaultCacheLocationId) = stepResult.Value;