static protected function checkSerializer_( $serializer ):void
	{
		if(!(
			(
				is_object( $serializer )
			&&
				$serializer instanceof S\ASerializer
			)
		or
			(
				is_string( $serializer )
			&&
				class_exists( $serializer )
			&&
				isset( class_parents( $serializer )[S\ASerializer::class] )
			)
		)){
			$caller= debug_backtrace( DEBUG_BACKTRACE_IGNORE_ARGS, 2 )[1];

			throw new \TypeError(
				"Argument 2 passed to {$caller['class']}{$caller['type']}{$caller['function']}() must be an class extends ".S\ASerializer::class.' or it\'s instance'
			);
		}
	}