If there's a value that's callable it will be called else it's a noop
Optional value of whatever T(args) returns
See Implementation
If there's a value that's callable it will be called else it's a noop