protected function build_propositions( array $rules ) {
		$props = [];

		foreach ( $rules as $rule ) {
			if ( ! is_array( $rule ) || ! static::is_proposition( $rule ) ) {
				continue;
			}

			try {
				$props[] = $this->create_proposition( ... $rule );
			} catch ( \Exception $e ) {
				continue;
			}
		}

		return array_filter( $props );
	}