requireAs
fun <S, S2, T : Any> SenderScope<S>.requireAs(transform: (S) -> S2, requirement: Requirement<S> = requirement { SenderValidationResult.success() }, parameter: StructureElement<S2, StructureElement<S2, Parameter<S2, T>>>): StructureElement<S, ValidatedParameter<S, T>>
fun <S, S2, T : Any> SenderScope<S>.requireAs(transform: (S) -> S2, invalidDefault: ContextualValue<S, T>, requirement: Requirement<S> = requirement { SenderValidationResult.success() }, flag: StructureElement<S2, StructureElement<S2, Flag<S2, T>>>): StructureElement<S, Flag<S, T>>
fun <S, S2> SenderScope<S>.requireAs(transform: (S) -> S2, requirement: Requirement<S> = requirement { SenderValidationResult.success() }, command: StructureElement<S2, StructureElement<S2, Structure<S2>>>): StructureElement<S, Structure<S>>