a single composition, possibly with other compositions inside it
Call has two basic steps: getting an initial value, then running that initial value through each step of the composition.
Note that the initial function will always receive *args and **kwargs. All subsequent calls respect the second pair of the tuple, which will splat the output of the previous function (using the form func(*result).)
Use > to append to the composition, without splatting.
initialize this Composition by _wrapping each item in a list
Use >> to append to the composition, with splatting.
list of weak references to the object (if defined)