Having suggested all that, I can still see it being confusing that time sneaks in as an extra argument, even though the Node constructor invites the user to say "how many inputs does the sin function take?" A: 1, result: failure!

How about:
```
Node(np.sin, inputs=['time'])
Node(np.sin, inputs=[vector(1)])
Node(specific_logger, inputs=['time', vector(101)])
```