requireIs

@JvmName(name = "requireIs")
inline fun <S : Any, S2 : S, T : Any> SenderScope<S>.requireIs(senderType: KClass<S2>, requirement: Requirement<S> = requirement { SenderValidationResult.success() }, noinline parameter: StructureElement<S2, StructureElement<S2, Parameter<S2, T>>>): StructureElement<S, ValidatedParameter<S, T>>
inline fun <S : Any, S2 : S, T : Any> SenderScope<S>.requireIs(senderType: KClass<S2>, noinline invalidDefault: ContextualValue<S, T>, requirement: Requirement<S> = requirement { SenderValidationResult.success() }, noinline flag: StructureElement<S2, StructureElement<S2, Flag<S2, T>>>): StructureElement<S, Flag<S, T>>
inline fun <S : Any, S2 : S, T : Any> SenderScope<S>.requireIs(senderType: KClass<S2>, invalidDefault: T, requirement: Requirement<S> = requirement { SenderValidationResult.success() }, noinline flag: StructureElement<S2, StructureElement<S2, Flag<S2, T>>>): StructureElement<S, Flag<S, T>>
@JvmName(name = "requireIsCommand")
inline fun <S : Any, S2 : S> SenderScope<S>.requireIs(senderType: KClass<S2>, requirement: Requirement<S> = requirement { SenderValidationResult.success() }, noinline command: StructureElement<S2, StructureElement<S2, Structure<S2>>>): StructureElement<S, Structure<S>>