diff --git a/psalm-baseline.xml b/psalm-baseline.xml
index 045712fb1..e6ccb4cd8 100644
--- a/psalm-baseline.xml
+++ b/psalm-baseline.xml
@@ -509,9 +509,6 @@
-
- getInstance($prototype)]]>
-
@@ -527,12 +524,6 @@
-
- getInstance($prototype)]]>
-
-
-
-
@@ -595,12 +586,10 @@
-
-
@@ -615,7 +604,6 @@
-
@@ -752,13 +740,9 @@
-
-
-
-
@@ -1144,10 +1128,6 @@
-
-
-
-
diff --git a/src/Internal/Declaration/Dispatcher/Dispatcher.php b/src/Internal/Declaration/Dispatcher/Dispatcher.php
index 353049c73..2db1af613 100644
--- a/src/Internal/Declaration/Dispatcher/Dispatcher.php
+++ b/src/Internal/Declaration/Dispatcher/Dispatcher.php
@@ -131,15 +131,11 @@ private function createExecutorFromMethod(\ReflectionMethod $fun): \Closure
* @psalm-return FunctionExecutor
*
* @param \ReflectionFunction $fun
- * @return \Closure
+ * @return \Closure(object, array): mixed
*/
private function createExecutorFromFunction(\ReflectionFunction $fun): \Closure
{
- return static function (?object $ctx, array $arguments) use ($fun) {
- if ($ctx === null) {
- return $fun->invoke(...$arguments);
- }
-
+ return static function (object $ctx, array $arguments) use ($fun) {
$closure = $fun->getClosure();
try {
diff --git a/src/Internal/Marshaller/Type/ArrayType.php b/src/Internal/Marshaller/Type/ArrayType.php
index 6128451a1..271331a4b 100644
--- a/src/Internal/Marshaller/Type/ArrayType.php
+++ b/src/Internal/Marshaller/Type/ArrayType.php
@@ -70,6 +70,7 @@ public static function makeRule(\ReflectionProperty $property): ?MarshallingRule
/**
* @psalm-assert array $value
+ * @param mixed $value
* @param array $current
*/
public function parse($value, $current): array