-type type() :: #{'__type__' => 'clojerl.TupleChunk', tuple => tuple(), offset => non_neg_integer(), size => non_neg_integer(), meta => undefined | any()}.
-spec '__new__'(tuple()) -> type().
-spec '__new__'(tuple(), non_neg_integer()) -> type().
-spec '__new__'(tuple(), non_neg_integer(), non_neg_integer()) -> type().