Use array initializer syntax

Use Swift's array initializer syntax (see "The Swift Programming
Language", page 145) to initialize empty arrays using type inference.

Typealiases for closures also necessary to prevent compile errors
(reason unclear, but arguably improves readability, too).