diff --git a/src/utils/contains.hpp b/src/utils/contains.hpp
index 0a26cc1..87b82be 100644
--- a/src/utils/contains.hpp
+++ b/src/utils/contains.hpp
@@ -8,16 +8,12 @@
 {
 
 template <class T>
-concept HasMemberFind = requires(T container)
-{
-    container.find(container.begin()->first);
-};
+concept HasMemberFind =
+    requires(T container) { container.find(container.begin()->first); };
 
 template <class T>
-concept HasMemberContains = requires(T container)
-{
-    container.contains(*container.begin());
-};
+concept HasMemberContains =
+    requires(T container) { container.contains(*container.begin()); };
 
 } // namespace detail
 
diff --git a/src/utils/conversion_trigger.hpp b/src/utils/conversion_trigger.hpp
index 9d5d4a5..8719df2 100644
--- a/src/utils/conversion_trigger.hpp
+++ b/src/utils/conversion_trigger.hpp
@@ -45,8 +45,8 @@
 inline constexpr bool is_variant_v = is_variant<T>::value;
 
 template <typename AlternativeT, typename VariantT>
-requires is_variant_v<VariantT>
-bool isFirstElementOfType(const std::vector<VariantT>& collection)
+    requires is_variant_v<VariantT> bool
+isFirstElementOfType(const std::vector<VariantT>& collection)
 {
     if (collection.empty())
     {
diff --git a/src/utils/transform.hpp b/src/utils/transform.hpp
index fc52fc3..7b3e33a 100644
--- a/src/utils/transform.hpp
+++ b/src/utils/transform.hpp
@@ -9,10 +9,7 @@
 {
 
 template <class T>
-concept has_member_reserve = requires(T t)
-{
-    t.reserve(size_t{});
-};
+concept has_member_reserve = requires(T t) { t.reserve(size_t{}); };
 
 } // namespace detail
 
