Validate $futures first

Simplifies things a bit. Not sure if the old version on purpose allowed a `$futures` parameter containg a mix of `null`s and `Future`s.

Dropped this "feature" as it made no sense to me.