diff --git a/pytest.ini b/pytest.ini
index b43b0f00ce528fc8ca1cdd8355c0168d98b6e608..281eaa21ec0b07aabfbb1a16c3ad9938946e6371 100644
--- a/pytest.ini
+++ b/pytest.ini
@@ -40,6 +40,7 @@ omit = doc/*
        src/pystencils/cache.py
        src/pystencils/pacxx/benchmark.py
        src/pystencils/_version.py
+       src/pystencils/_deprecation.py
        src/pystencils/old
        venv/
 
@@ -62,6 +63,9 @@ exclude_lines =
        if False:
        if __name__ == .__main__.:
 
+       # Don't cover type checking imports
+       if TYPE_CHECKING:
+
 skip_covered = True
 fail_under = 80
 
diff --git a/src/pystencils/_deprecation.py b/src/pystencils/_deprecation.py
index 29ee648a7a9655e556986ae5404e335b94924fc9..68218f0ae3992cfca35db7f44d251be6fe609ea7 100644
--- a/src/pystencils/_deprecation.py
+++ b/src/pystencils/_deprecation.py
@@ -5,4 +5,5 @@ def _deprecated(feature, instead, version="2.1"):
         f"{feature} is deprecated and will be removed in pystencils {version}."
         f"Use {instead} instead.",
         DeprecationWarning,
+        stacklevel=2
     )
diff --git a/src/pystencils/codegen/config.py b/src/pystencils/codegen/config.py
index b6567e74a34e616fdbf340a92744bdde36dda218..9bd9cc9a3aff1b9b005c167c995f4640598f9fcd 100644
--- a/src/pystencils/codegen/config.py
+++ b/src/pystencils/codegen/config.py
@@ -428,7 +428,7 @@ class CreateKernelConfig:
         cpu_openmp: bool | int | None,
         cpu_vectorize_info: dict | None,
         gpu_indexing_params: dict | None,
-    ):
+    ):  # pragma: no cover
         optim: CpuOptimConfig | None = None
 
         if data_type is not None:
@@ -527,7 +527,7 @@ class CreateKernelConfig:
             )
 
 
-def _deprecated_option(name, instead):
+def _deprecated_option(name, instead):  # pragma: no cover
     from warnings import warn
 
     warn(
diff --git a/src/pystencils/codegen/driver.py b/src/pystencils/codegen/driver.py
index f7836ea794080a02a26dd8b29bf2d010ff5ab389..62a3f44db98cf4559f77d187e4c1ed3afb8e92b7 100644
--- a/src/pystencils/codegen/driver.py
+++ b/src/pystencils/codegen/driver.py
@@ -371,31 +371,6 @@ class DefaultKernelCreationDriver:
             f"Code generation for target {self._target} not implemented"
         )
 
-    def _get_function_params(self, symbols: Iterable[PsSymbol]):
-        params: list[Parameter] = []
-
-        from pystencils.backend.memory import BufferBasePtr
-
-        for symb in symbols:
-            props: set[PsSymbolProperty] = set()
-            for prop in symb.properties:
-                match prop:
-                    case FieldShape() | FieldStride():
-                        props.add(prop)
-                    case BufferBasePtr(buf):
-                        field = self._ctx.find_field(buf.name)
-                        props.add(FieldBasePtr(field))
-            params.append(Parameter(symb.name, symb.get_dtype(), props))
-
-        params.sort(key=lambda p: p.name)
-        return params
-
-    def _get_headers(self, body: PsBlock):
-        req_headers = collect_required_headers(body)
-        req_headers |= self._platform.required_headers
-        req_headers |= self._ctx.required_headers
-        return req_headers
-
 
 def create_cpu_kernel_function(
     ctx: KernelCreationContext,
diff --git a/src/pystencils/codegen/kernel.py b/src/pystencils/codegen/kernel.py
index c4ad860b621d65965cd4b3cb62a1c05ad67807ee..3adc47876dc36af02ee307dde25ad5d7250cd3fb 100644
--- a/src/pystencils/codegen/kernel.py
+++ b/src/pystencils/codegen/kernel.py
@@ -62,12 +62,12 @@ class Kernel:
         self._name = n
 
     @property
-    def function_name(self) -> str:
+    def function_name(self) -> str:  # pragma: no cover
         _deprecated("function_name", "name")
         return self._name
 
     @function_name.setter
-    def function_name(self, n: str):
+    def function_name(self, n: str):  # pragma: no cover
         _deprecated("function_name", "name")
         self._name = n
 
@@ -75,7 +75,7 @@ class Kernel:
     def parameters(self) -> tuple[Parameter, ...]:
         return self._params
 
-    def get_parameters(self) -> tuple[Parameter, ...]:
+    def get_parameters(self) -> tuple[Parameter, ...]:  # pragma: no cover
         _deprecated("Kernel.get_parameters", "Kernel.parameters")
         return self.parameters
 
@@ -83,7 +83,7 @@ class Kernel:
         return set(chain.from_iterable(p.fields for p in self._params))
 
     @property
-    def fields_accessed(self) -> set[Field]:
+    def fields_accessed(self) -> set[Field]:  # pragma: no cover
         warn(
             "`fields_accessed` is deprecated and will be removed in a future version of pystencils. "
             "Use `get_fields` instead.",
diff --git a/src/pystencils/codegen/parameters.py b/src/pystencils/codegen/parameters.py
index d40eae220c94efea9785ec561e10b217ccb88c91..d8411266ee514d4270a7a9d1c2fb24383f005329 100644
--- a/src/pystencils/codegen/parameters.py
+++ b/src/pystencils/codegen/parameters.py
@@ -97,7 +97,7 @@ class Parameter:
     #   These are kept mostly for the legacy waLBerla code generation system
 
     @property
-    def is_field_pointer(self) -> bool:
+    def is_field_pointer(self) -> bool:  # pragma: no cover
         warn(
             "`is_field_pointer` is deprecated and will be removed in a future version of pystencils. "
             "Use `param.get_properties(FieldBasePtr)` instead.",
@@ -106,7 +106,7 @@ class Parameter:
         return bool(self.get_properties(FieldBasePtr))
 
     @property
-    def is_field_stride(self) -> bool:
+    def is_field_stride(self) -> bool:  # pragma: no cover
         warn(
             "`is_field_stride` is deprecated and will be removed in a future version of pystencils. "
             "Use `param.get_properties(FieldStride)` instead.",
@@ -115,7 +115,7 @@ class Parameter:
         return bool(self.get_properties(FieldStride))
 
     @property
-    def is_field_shape(self) -> bool:
+    def is_field_shape(self) -> bool:  # pragma: no cover
         warn(
             "`is_field_shape` is deprecated and will be removed in a future version of pystencils. "
             "Use `param.get_properties(FieldShape)` instead.",
@@ -124,7 +124,7 @@ class Parameter:
         return bool(self.get_properties(FieldShape))
 
     @property
-    def field_name(self) -> str:
+    def field_name(self) -> str:  # pragma: no cover
         warn(
             "`field_name` is deprecated and will be removed in a future version of pystencils. "
             "Use `param.fields[0].name` instead.",