So I tried

```diff
--- a/src/View/Form/EntityContext.php
+++ b/src/View/Form/EntityContext.php
@@ -136,13 +136,13 @@ class EntityContext {
                }

                $lastProp = $this->_rootName;
-               foreach ($path as $prop) {
+               for ($i = 0, $len = count($path), $last = $len - 1; $i < $len; $i++) {
+                       $prop = $path[$i];
                        $next = $this->_getProp($entity, $prop);
-                       if (
-                               !is_array($next) &&
-                               !($next instanceof Traversable) &&
-                               !($next instanceof Entity)
-                       ) {
+                       if ($next === null) {
+                               return [false, false];
+                       }
+                       if ($i === $last) {
                                return [$entity, $lastProp];
                        }
                        if (!is_numeric($prop)) {
```

This caused issues with fields containing nulls, and fields that are in the schema and not in the  entity.