-type type() :: #{'__type__' => 'clojerl.Fn', fn => function()}.
-spec '__new__'(function()) -> type().
-spec fn(type()) -> function().