diff --git a/src/Field/BasicField.php b/src/Field/BasicField.php
index 3e34ff9508edc1367947ebd479c7aad8e93e5a99..90bd7ff74ab1d3fa1cde4bf8f80a9dbf7e1aa6cc 100644
--- a/src/Field/BasicField.php
+++ b/src/Field/BasicField.php
@@ -40,7 +40,7 @@ abstract class BasicField implements Field {
 		return $this->meta['type'];
 	}
 
-	public function set_type( string $type ): Field {
+	public function set_type( string $type ): self {
 		$this->meta['type'] = $type;
 
 		return $this;
@@ -75,7 +75,7 @@ abstract class BasicField implements Field {
 		return $this->meta['label'] ?? '';
 	}
 
-	final public function set_label( string $value ): Field {
+	final public function set_label( string $value ): self {
 		$this->meta['label'] = $value;
 
 		return $this;
@@ -101,19 +101,19 @@ abstract class BasicField implements Field {
 		return ! empty( $this->meta['description'] );
 	}
 
-	final public function set_description( string $value ): Field {
+	final public function set_description( string $value ): self {
 		$this->meta['description'] = $value;
 
 		return $this;
 	}
 
-	final public function set_description_tip( string $value ): Field {
+	final public function set_description_tip( string $value ): self {
 		$this->meta['description_tip'] = $value;
 
 		return $this;
 	}
 
-	final public function set_placeholder( string $value ): Field {
+	final public function set_placeholder( string $value ): self {
 		$this->attributes['placeholder'] = $value;
 
 		return $this;
@@ -127,7 +127,7 @@ abstract class BasicField implements Field {
 		return $this->attributes['placeholder'] ?? '';
 	}
 
-	final public function set_name( string $name ): Field {
+	final public function set_name( string $name ): self {
 		$this->attributes['name'] = $name;
 
 		return $this;
@@ -165,7 +165,7 @@ abstract class BasicField implements Field {
 		return isset( $this->attributes['multiple'] );
 	}
 
-	final public function set_disabled(): Field {
+	final public function set_disabled(): self {
 		$this->attributes['disabled'] = 'disabled';
 
 		return $this;
@@ -175,7 +175,7 @@ abstract class BasicField implements Field {
 		return $this->attributes['disabled'] ?? false;
 	}
 
-	final public function set_readonly(): Field {
+	final public function set_readonly(): self {
 		$this->attributes['readonly'] = 'readonly';
 
 		return $this;
@@ -185,19 +185,19 @@ abstract class BasicField implements Field {
 		return $this->attributes['readonly'] ?? false;
 	}
 
-	final public function set_required(): Field {
+	final public function set_required(): self {
 		$this->attributes['required'] = 'required';
 
 		return $this;
 	}
 
-	final public function add_class( string $class_name ): Field {
+	final public function add_class( string $class_name ): self {
 		$this->attributes['class'][ $class_name ] = $class_name;
 
 		return $this;
 	}
 
-	final public function unset_class( string $class_name ): Field {
+	final public function unset_class( string $class_name ): self {
 		unset( $this->attributes['class'][ $class_name ] );
 
 		return $this;
@@ -230,7 +230,7 @@ abstract class BasicField implements Field {
 		return $this->meta['default_value'] ?? '';
 	}
 
-	final public function set_default_value( string $value ): Field {
+	final public function set_default_value( string $value ): self {
 		$this->meta['default_value'] = $value;
 
 		return $this;
@@ -249,7 +249,7 @@ abstract class BasicField implements Field {
 	 *
 	 * @see FormWithFields::get_fields()
 	 */
-	final public function set_priority( int $priority ): Field {
+	final public function set_priority( int $priority ): self {
 		$this->meta['priority'] = $priority;
 
 		return $this;
diff --git a/src/Field/CheckboxField.php b/src/Field/CheckboxField.php
index 14110296cb1f03405c8928913d9fd1a6ac1b4a00..c06445472cd96da60f699f593a21579e30d0f08d 100644
--- a/src/Field/CheckboxField.php
+++ b/src/Field/CheckboxField.php
@@ -21,7 +21,7 @@ class CheckboxField extends BasicField {
 		return $this->meta['sublabel'];
 	}
 
-	public function set_sublabel( string $value ): Field {
+	public function set_sublabel( string $value ): self {
 		$this->meta['sublabel'] = $value;
 
 		return $this;
diff --git a/src/Field/Header.php b/src/Field/Header.php
index b588b8f3362872393e8ec50316829a1cd9343ca6..d01fc99355c8d4f4fc31d9c6b9846c56b95fc347 100644
--- a/src/Field/Header.php
+++ b/src/Field/Header.php
@@ -19,7 +19,7 @@ class Header extends NoValueField {
 		return true;
 	}
 
-	public function set_header_size( int $value ): Field {
+	public function set_header_size( int $value ): self {
 		$this->meta['header_size'] = $value;
 
 		return $this;
diff --git a/src/Field/SelectField.php b/src/Field/SelectField.php
index 04d290cfe922ab32cc7979f51ebf9c3138e3b730..540c360e4163f33d1a3deab0b21e75c63476d6ee 100644
--- a/src/Field/SelectField.php
+++ b/src/Field/SelectField.php
@@ -15,13 +15,13 @@ class SelectField extends BasicField {
 	}
 
 	/** @param string[] $options */
-	public function set_options( array $options ): Field {
+	public function set_options( array $options ): self {
 		$this->meta['possible_values'] = $options;
 
 		return $this;
 	}
 
-	public function set_multiple(): Field {
+	public function set_multiple(): self {
 		$this->attributes['multiple'] = 'multiple';
 
 		return $this;