#pragma once

template <class T> struct Badge
{
  private:
    constexpr Badge() = default;

    Badge(const Badge<T>&) = delete;
    Badge(Badge<T>&&) = delete;

    friend T;
};