diff --git a/src/Immediate.Validations.Shared/IValidationTarget.cs b/src/Immediate.Validations.Shared/IValidationTarget.cs
index 9e3b106..2470fe2 100644
--- a/src/Immediate.Validations.Shared/IValidationTarget.cs
+++ b/src/Immediate.Validations.Shared/IValidationTarget.cs
@@ -8,7 +8,7 @@ namespace Immediate.Validations.Shared;
///
/// The type which should be validated.
///
-public interface IValidationTarget where T : IValidationTarget
+public interface IValidationTarget
{
///
/// A method which can be used to validate instances of the type .
diff --git a/src/Immediate.Validations.Shared/Validators/GreaterThanAttribute.cs b/src/Immediate.Validations.Shared/Validators/GreaterThanAttribute.cs
index 65791bd..84794a5 100644
--- a/src/Immediate.Validations.Shared/Validators/GreaterThanAttribute.cs
+++ b/src/Immediate.Validations.Shared/Validators/GreaterThanAttribute.cs
@@ -29,8 +29,7 @@ object operand
/// A indicating whether the property is valid or not, along with an error
/// message if the property is not valid.
///
- public static (bool Invalid, string? Message) ValidateProperty(T target, T operand)
- where T : IComparable =>
+ public static (bool Invalid, string? Message) ValidateProperty(T target, T operand) =>
Comparer.Default.Compare(target, operand) > 0
? default
: (true, $"Value '{target}' is not greater than '{operand}'");
diff --git a/src/Immediate.Validations.Shared/Validators/GreaterThanOrEqualAttribute.cs b/src/Immediate.Validations.Shared/Validators/GreaterThanOrEqualAttribute.cs
index 36102e6..92852a3 100644
--- a/src/Immediate.Validations.Shared/Validators/GreaterThanOrEqualAttribute.cs
+++ b/src/Immediate.Validations.Shared/Validators/GreaterThanOrEqualAttribute.cs
@@ -29,8 +29,7 @@ object operand
/// A indicating whether the property is valid or not, along with an error
/// message if the property is not valid.
///
- public static (bool Invalid, string? Message) ValidateProperty(T target, T operand)
- where T : IComparable =>
+ public static (bool Invalid, string? Message) ValidateProperty(T target, T operand) =>
Comparer.Default.Compare(target, operand) >= 0
? default
: (true, $"Value '{target}' is not greater than or equal to '{operand}'");
diff --git a/src/Immediate.Validations.Shared/Validators/LessThanAttribute.cs b/src/Immediate.Validations.Shared/Validators/LessThanAttribute.cs
index 2db76e4..f5c0cd5 100644
--- a/src/Immediate.Validations.Shared/Validators/LessThanAttribute.cs
+++ b/src/Immediate.Validations.Shared/Validators/LessThanAttribute.cs
@@ -29,8 +29,7 @@ object operand
/// A indicating whether the property is valid or not, along with an error
/// message if the property is not valid.
///
- public static (bool Invalid, string? Message) ValidateProperty(T target, T operand)
- where T : IComparable =>
+ public static (bool Invalid, string? Message) ValidateProperty(T target, T operand) =>
Comparer.Default.Compare(target, operand) < 0
? default
: (true, $"Value '{target}' is not less than '{operand}'");
diff --git a/src/Immediate.Validations.Shared/Validators/LessThanOrEqualAttribute.cs b/src/Immediate.Validations.Shared/Validators/LessThanOrEqualAttribute.cs
index 56d471e..8ab4698 100644
--- a/src/Immediate.Validations.Shared/Validators/LessThanOrEqualAttribute.cs
+++ b/src/Immediate.Validations.Shared/Validators/LessThanOrEqualAttribute.cs
@@ -29,8 +29,7 @@ object operand
/// A indicating whether the property is valid or not, along with an error
/// message if the property is not valid.
///
- public static (bool Invalid, string? Message) ValidateProperty(T target, T operand)
- where T : IComparable =>
+ public static (bool Invalid, string? Message) ValidateProperty(T target, T operand) =>
Comparer.Default.Compare(target, operand) <= 0
? default
: (true, $"Value '{target}' is not less than or equal to '{operand}'");