Single-object list case will still work in @Vagabond's version.

```erlang
lists:foldl(fun syntactic_merge/2, hd(Objects), tl(Objects))
```

This is the definition of lists:foldl:

```erlang
foldl(F, Accu, [Hd|Tail]) ->
    foldl(F, F(Hd, Accu), Tail);
foldl(F, Accu, []) when is_function(F, 2) -> Accu.
```