Add closure support for system and aggregate types

Signed-off-by: Niklas Koep <niklas.koep@gmail.com>